IDisposableを実装したクラスは、使用しなくなったらDispose()を呼び出す必要があります。 ただしDispose()を呼び忘れることがないとはいえません。 そのときいつまでもリソースが確保されたままだと問題です。 せめてGC(ガベージコレクタ)がメモリからオブジェクトを破棄するタイミングでDispose()を呼ぶようにしておくと少し安心できます。 サンプル class MyClass : IDisposable { public void Dispose() { // // MyClassが使われなくなったときに破棄すべき処理をする // // Dispose()が明示的に呼ばれたときは、 // GCによるメモリ回収時にFinalize()呼び出しをさせない。 GC.SuppressFinalize(this); } ~MyClass() { // もしDispose()して