あなたは C++ のバックグラウンドを持っているようです。
.NET のガベージ コレクションを読むと、多くのことが明らかになるはずです。
あなたの場合、すべての子リストを「破棄」する必要はありません。実際、一般的な List オブジェクトを、通常の適切な .NET の方法で自分で破棄または破棄することはできません。もう使用したくない場合は、それへのすべての参照を削除してください。オブジェクトの実際の破棄は、ガベージ コレクター (別名 GC) が適切と判断したときに行われます。
GC も非常にスマートで、循環参照と a->b->c->d オブジェクト ツリー、および発生する可能性のあるほとんどのものを検出し、オブジェクト グラフ全体を適切にクリーンアップします。したがって、再帰的なクリーニング ルーチンを作成する必要はありません。
ただし、GC の動作は非決定的であることに注意してください。つまり、実際の「クリーンアップ」がいつ行われるかはわかりません。そのため、ファイル ハンドル、データベース接続など、すぐに解放する必要がある重要なリソースがリストに含まれている場合は、明示的に「破棄」する必要があります。 @lassevkが推奨するように。