There are several good tools out there for looking at what is happening in memory. One of the best is
Debugging Tools for Windows[
^],
DotTrace[
^] is also an excellent tool, I have heard good thing about the
ANTS Profiler[
^] as well. Also I would reccommend that you read
CLR via C#[
^] to better understand what is happening with memory.