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.
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.