.Netのformでメモリリーク(解放できないという問題)

C# .Netでオリジナルのメッセージボックスを作り、usingで囲んでnew form()をして、showDialogするだけ、という単純なものを使っていたところ、メモリ使用量が増えていく現象が不思議で仕方ありませんでした。
結論からいうと、
>Control クラス(を継承するクラス)は特別で、特別なところから参照されています。
>null(VB なら Nothing)を代入しても解放されません。

ということがMSDNに記載されていました。
回避方法はformオブジェクトの再利用しかないということで、
>何度も表示/非表示を繰り返すなら、new - Show - Close ではなく、
>Visible プロパティを操作することを勧めます。
>また、ShowDialog を使う場合は、new - ShowDialog - Close - Dispose とするのではなく、
>ShowDialog - Close を繰り返します。

>new~Dispose を繰り返すと、リークはしませんが、メモリの確保量は
>(実験されているように)大きくなるので、パフォーマンスに影響が出ると思われます。
>再生ではなく、再利用することを勧めます。
ということで、厳密な名称についてメモリリークではないが、メモリが解放されないので正式な名称こそページ内に出てきませんが、メモリを解放する能力が無いという点でメモリリークと何が違うのかわかりませんが、利用者からは同じ現象に見えます。

https://social.msdn.microsoft.com/Forums/ja-JP/9a19f648-a849-4090-a05e-e6ffccdc2adc?forum=csharpgeneralja

再利用ということで、staticでformオブジェクトを確保しておき、利用時の初期化用の関数を用意するしかなさそうでした。
実際、そのようにすると嘘のようにメモリの増加が無くなりました・・・