FormのCloseとDispose

Form.Show → Form.Close の中で、Dispose も行われる。
From.ShowDialog → Form.Close では Dispose されない。なので、呼び出し側が Dispose する必要がある。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=31893&forum=7&start=8

という記述をみつけた。私のライブラリではShowDialogでフォームをモーダレスで出し、そいつのなかでme.Closeを呼んでいる。また、このインスタンスは何度もつかいまわされるため破棄されてはいけない。というわでShowDialogしているので大丈夫だとおもっていたのだが、今日何度かFormがDisposeされたような現象がおこった。具体的にはShowDialogされるフォームに張ってあるコントロールがDisposeされたような動きになっていた。現象が再現しないので詳細がわからないのだが、場合によってはDisposeされてしまうことがあるのかなぁ?
あと、Form.Hideはなぜか親画面がちらつくのだがこれでは使い物になりません・・・・