C#の `IDisposable` を実装したクラスで、ファイナライザ(デスタラクタ `~Class()`)も定義すべきケースはどれか。

通常は `Dispose` で十分だが、ネイティブハンドルのような「GCが知らないリソース」を持つ場合は、開発者が `Dispose` を忘れた時にリークしないよう、GC回収時に走るファイナライザで解放する実装が必要。