whenever I call a `GC.Collect()` or `GC.GetTotalAmountOfMemory(true)` the whole program just hangs. Now, I know what you gonna say: Don't call `GC.Collect()` the GC takes care of itself. The problem is: It doesn't in my case, something hangs around in memory and the GC can't get rid of it.

I've no idea what it could be (project is big/old). I hope someone knows how to obtain informations about what the GC tries to do (and obviously can't do) so that I can search for the problem or if something like a memory profiler could be of any help here (I've ANTS currently installed) and what I should search for.

\*edit 
something I totally forgot: Sometimes when I call one of the two methods of GC, the memory usage increases by ~10 kilobytes / second

\*edit2
I've to correct myself: GC.Collect() runs just fine. Only GC.GetTotalMemory(true) hangs. GC.GetTotalMemory(false) works just fine, too.

\*edit3
and yup as some of you already said: It seems to be a finalizer somewhere. When I run WaitForPendingFinalizers() it just sits there, doing nothing aswell.

ok, now I'm completely confused: When I enter a `GC.GetTotalMemor(true)` or a `GC.WaitForPendingFinalizers()` into the immediate window of Visual Studio after I paused the debugger, the program hangs (*that's what I did the whole time...I feel stupid now*). When I add it to my usual source code and compile it, it works just fine.

Sorry about the whole fuzz, seems the memoryleak has another cause.