The way I understand, the .NET Profiling interface provided by Microsoft provides the method entry and method exit times. Then it's a matter of counting the ticks inbetween. So on XP there is a speedstep issue but for most other operating systems, if there is anything untowards, it's usually caused by bodged overhead calculations. ANTS attempts to subrtact the time it took in your process from the results. It is possible to turn overhead correction off in the settings.