<p>What is the most accurate way of timing a thread or a line of code in C# assuming the application is multithreaded?</p>

<p>Kind regards,</p>

What exactly do you mean by "timing a thread"?
To just time (in wall time) how long something takes, use System.Diagnostics.Stopwatch. I don't believe there's anything to measure the processor time taken by a particular thread.  Of course, profilers will help you a lot, but they also affect the timing of the program they're examining, which makes things trickier.