デストラクタは、オブジェクトが保持しているアンマネージ リソースのみを解放する必要があり、他のオブジェクトを参照するべきではありません。管理参照しかない場合は、デストラクタを実装する必要はありません (実装すべきではありません)。これは、管理されていないリソースを処理する場合にのみ必要です。デストラクタを使用するとコストがかかるため、管理されていない貴重なリソースを消費するメソッドにのみ実装する必要があります。
この記事ではこれについて詳しく説明していませんが、C# でデストラクタを使用すると、どのようなコストが発生するのでしょうか?
注: GC と、信頼できるタイミングでデストラクタが呼び出されないという事実については知っていますが、それ以外に何かありますか?