If you want to do this, you don't need to do any thread blocking. All you need do is open the new form as a modal dialog, which pauses execution on the calling code until the dialog returns. Here's a typical flow:
private void ShowMyDialog()
{
using (MyDialog dialog = new MyDialog())
{
if (dialog.ShowDialog() == DialogResult.OK)
{
MessageBox.Show(dialog.UserEnteredValue);
}
}
}