継承したばかりのvb.netコードを見ていますが、元の開発者がなぜこれを行うのか理解できません。
基本的に、各「ドメイン」クラスはプロパティのコレクションです。そして、それぞれが IDisposable.Dispose を実装し、Finalize() をオーバーライドします。基本クラスがないため、それぞれが Object を拡張するだけです。
Dispose は、各プライベート変数を Nothing に設定するか、プロパティが別のドメイン オブジェクトである場合は _private.Dispose を呼び出します。破棄された状態を追跡するプライベート var があり、Dispose の最後のものは GC.suppressFinalize(Me) です。
Finalize は Me.Dispose と MyBase.Finalize を呼び出すだけです。
これに何かメリットはありますか?害はありますか?管理されていないリソースも、データベース接続もありません。これを必要とするものは何もありません。