I'm looking for some feedback/thoughts/stories on tracking down memory leaks in managed code. (I know the GC handles lots of the typical cases but that doesn't mean it still can't happen).

I am particularly looking for opinions on what features would be most useful in a program that can detect a memory leak.

If you have had to deal with this issue before what strategy(ies) did you end up using to find it?