問題はそれじゃないだろ。
GC.SuppressFinalize(this);
に指定されたオブジェクトがGCによって呼ばれないことによって
>大量の資源を使うクラスに対するDispose呼び出しは
>VMの一定メモリ割り当て量超えた場合のパフォーマンス低下を防ぐため
をおこなってるんだろう。