dotMemory is a .NET memory profiler that helps you optimize memory usage in your application, find memory leaks, and fight other types of memory issues.
Powerful Automatic Inspections
To ease your task, dotMemory automatically scans your snapshot for most common types of memory issues. These inspections can be a great starting point in analyzing a snapshot if you're not sure where to begin.
Analyzing Memory Traffic
Excessive allocations and garbage collections may imply significant memory management overhead. Use the traffic view to understand what objects are created/collected most intensively in your app and what functions are causing this memory traffic.
Multiple Views on Data
Examine objects in the heap from multiple views. Want to know how objects relate to each other? What objects do they reference and through what fields? Want to know which calls created these objects? No problem! dotMemory has a view for everything.
Comparing Memory Snapshots
Comparing two snapshots is the main way to find objects that are causing a memory leak. Use the comparison view to find out how many objects were created between snapshots and how many objects were collected.
Home Page - http://www.jetbrains.com/dotmemory/