必要なのはコーディング規約

なのですか?結論としてはそういうことになるのではないかということで、自分の中では答えが出た気がします。using ステートメントがある以上 Dispose で終了処理を行う事が一般的になる(なっている)とは思うのですが、using ステートメントを使うかどうかはクラス利用者、すなわちユーザに委ねられる、と。GC が付いているのに、この辺りのリソース管理は設計者と利用者間で意思の疎通(コーディング規約)を図る必要がある、と。そこに「Dispose メソッドは使わず Close メソッドを呼び出して下さい」なんて言うクラスが紛れ込んでくると、また話がややこしくなる訳です。

結論:C# は IDisposable.Dispose を使うべし!