Disposeとメモリの解放は直接関係ないよ
たとえばメインウィンドウがList<T>を持っていて、
子ウィンドウを開くたびにそこにオブジェクトを追加して、
使わなくなっても削除しなかったらメモリリークだよ