CLR Profiler

CLR Profiler is a free and open-source memory profiler for the .NET Framework from Microsoft. It allows the user to investigate the contents of the managed heap, the behavior of the garbage collector, and the allocation patterns (including call-graph analysis) of the program being profiled.
Overview.
The latest version, 4.5, released in November 2012, allows for profiling of .NET 2.0, 3.0, 3.5, 4.0 or 4.5 managed code as well as Silverlight apps. The source code was originally included under the Microsoft Limited Reciprocal License (MS-LRL) and hosted on CodePlex. It is now available on GitHub under the MIT License.
CLR Profiler is an intrusive tool; seeing a 10 to 100x slowdown in the application being profiled is not unusual. Therefore, it is not the right tool to find out where time is spent – use other profilers to profile the CPU usage of an application.