すいません言い直します。

・C#では、正しく構成されたクラスを使用している限り、本質的なリークは発生しない。
(明示的にDisposeしなくてもいつか回収される《=Finalize時にDisposeが呼ばれる》)

じゃないかな?
もちろん.NET謹製のはリークしない。
自作クラスでアンマネージリソースを使う場合、MSDNによると、
・Disposeを実装し、SafeHandleでアンマネージリソースをラップする。←こっちがオススメ
・Finalizeを実装する。
のどちらかをやっておけばいいはず。
> https://msdn.microsoft.com/ja-jp/library/498928w2(v=vs.110).aspx

だからリークしてるのであれば、自作クラスの構成がまずいのだと思うのだが。
もちろんクラスの構成はC++流(デストラクタ)ではなくC#流(上記)にしないといけない。