DisposeとCloseの関係で混乱が生じているようです。
http://blogs.wankuma.com/pinzolo/archive/2007/02/02/60433.aspx
.Net FrameworkのCloseは二通りの実装がされています。
これが混乱を招く原因の一つになっていると思います。
1)コンストラクタやほかのクラスで生成してCloseでDisposeも行うパターン
たとえばFileStreamクラスです。
File.OpenでFileStreamクラスが生成・OpenされFileStream.Closeで閉じます。
FileStreamクラスのコンストラクタで生成・OpenされFileStream.Closeで閉じることもできます。
FileStreamクラスにはOpenメソッドはありませんがCloseメソッドはあります、Close後に再オープンはできません。
アンマネージ リソースをクリーンアップするための Finalize および Dispose の実装
http://msdn2.microsoft.com/ja-jp/library/b1yfkh5e(VS.80).aspx
このページで「Dispose を呼び出すパブリックな Close メソッドを作成します。」と書かれているのはこのパターンを意識したものです。
2)OpenとCloseが対になっていて、コンストラクタやDisposeとは関係ないパターン
たとえばSqlConnectionクラスです。
SqlConnectionクラスのコンストラクタで生成されDisposeされるまでは何度でもOpenとCloseが可能です。