Ich glaube das ich für das problem einen Multimediatimer benötige da dieser auch im nano bereich arbeitet.
Die 1 Millisekunde ist einfach noch zu viel.
ZwDelayExecution geht wohl bis runter auf 100 Nanosekunden oder so.
Beim Thread ohne Pause ist es zu schnell so das andere prozesse dadurch behindert werden.
Wie hast du das denn getestet, dass da etwas behindert? Hast du mehrere Threads mit normaler Priorität und einer Endlosschleife laufen lassen?
Bisher hast du nur geschrieben, dass die CPU Auslastung hochgeht, was aber ja erst einmal nichts damit zu tun hat andere Prozesse zu behindern.
Was macht den Thread.Sleep(0) ????
Das ruft das normale Sleep von Windows auf, siehe Quelltext...