Disposeやnull代入してもそのクラス自体のメモリは解放されない
C#においてはそこはガベコレの担当であって基本プログラマはコントロールできないので少なくともnull代入は完全に不要
Marshal.AllocHGlobalのような明示的に解放しなきゃいけないアンマネージドリソースを使ってる場合にはIDisposable.Disposeが必要になる訳だけど、
ただそれも明示的にDispose()を呼ばずとも一応GCによる破棄タイミングで自動的にDispose()が呼ばれるので絶対呼ばなきゃいけない訳ではない(なんかの理由でDisposeに関しては明示的に呼んだ方が良かったはずだけど)