.NET Memory Profiler allows you to retrieve information about all instance allocations performed on the garbage collected heap (GC heap) and all instances that reside on the GC heap. The retrieved information is presented in real-time, both numerically and graphically. Using the new unmanaged resources tracker, information about unmanaged resources such as HBITMAP, HWND and unmanaged memory is also presented.
The real-time information presented gives a good overview of the activity and status of the GC heap, but by collecting snapshots of the heap, very detailed information can be presented. A heap snapshot can optionally include the instance data of each instance on the heap, allowing the presentation of field values of instances. It is also possible to compare two snapshots, which is a very convenient and efficient way of detecting memory leaks in a program. A snapshot provides information about: all classes, all instances of classes, the call stacks of the instance allocations, the path to a root from each instance. If resource tracking is enabled, the snapshot contains additional information about unmanaged resources.