Use the Memory Analyser
Whenever a snapshot comparison has been performed, the memory analyser will provide warnings, suggestions, and information about common memory usage problems. Perform the following steps to investigate issues identified by the memory analyser:
Select snapshots to analyse (e.g. by collecting a snapshot, or load a stored profiler session).
Wait for the comparison analyser to finish.
In the Overview view, use the info panel to view the memory issues found. The most severe issues will be listed first.
Select an issue to investigate further. Clicking the links in the info panel will provide more detailed information about the issue.
After reviewing the issue, it can be normally be decided that it is:
a problem that needs to be solved (e.g. a left-over event handler that could cause a memory leak)
a problem that could cause inefficient memory usage (e.g. failing to dispose instances that release native resources)
a problem that is caused by the .NET Framework or third party code - should normally be ignored.
a falsely identified issue (e.g. EventHandlers and delegates are common causes of memory leaks, but holding instances only through an EventHandler might also be perfectly legitimate) - should normally be ignored.
an informational issue (e.g. an instance that resides in the large object heap).
If it is decided that the issue should not be resolved or that the information presented is not important, it is a good idea to ignore the issue to make it easier to focus on the more important issues. Issues are ignored by clicking the Ignore... link next to the issue title. For more information, see Ignoring Analysis Issues.
Repeat from step 4 until all relevant issues have been reviewed.
For more information about the automatic memory analyzer, see Automatic Memory Analysis