投稿者 るきお  (社会人) 投稿日時 2011/4/2 23:17:53
いろいろな嫌なことが起こります。

Disposeについて一般的に言えるのはメモリを余計に使うことです。
Disposeしておけば、メモリを使わないで済むものを、Disposeしないと比較的長い間メモリを使い続けることになります。

他にDisposeとCloseの両方に多く言えることは、そのクラスが中でつかっている「もの」(リソース)が使い続けられます。
そのクラスが中で何を使っているかによって具体的に起こることは変わります。
たとえば、ファイルに書き込んだあとCloseしないと、ファイルは開きっぱなしになります。画面には表示されないので気にならないかもしれませんが、ファイルを開きっぱなしにすると、ほかのプログラムがそのファイルの読み書きができなくなったり、そのファイルの削除や名前変更ができなくなる場合があります。
ネットワークに接続するクラスであれば、使い終わっても裏ではネットワークにつながったままになるかもしれません。
データベースなどは、ほかの人にデータを変更されないように一時的にデータをロックすることがありますが、Closeしないといつまでたってもロックが解除されず、だれも読み書きできなくなるなどということもあるかもしれません。

まとめると、DisposeもCloseも終了処理をする仕組みですので、これを呼び出さないということは終了処理をしないということになります。
終了処理の具体的な内容はクラスによって異なるので、何が起こるかはさまざまです。