>>373
なるほど、色々読んできて理解しました。
最後の上手く行ったコードもデバッグモードで動かしたら例外吐いてました。

ですが、上記のフリーズするパターンは、
例えばform2.Show();while(true){sleep(5000)}のような、form2のコントロールにアクセスしないようなコードでも再現するので、
また別の理由では無いかと思うのですが、どうなんでしょうか?