Hmmm, meinst Du damit, er SOLLTE besser kein Sleep einsetzen? .... oder er kann gar kein Sleep ausführen?

Natürlich geht ein Sleep, aber ich nutze doch einen Thread um etwas parallel oder schneller zu machen.
Daher macht für mich ein Sleep in einem Thread nie einen Sinn.
Wenn es rein um eine Verzögerung geht, sehe ich auch keinen Grund, das mit Events oder ähnlichem umzusetzen. Das Ergebnis ist das gleiche, ob ich auf ein Event eine bestimmte Zeit bis zum Timeout warte oder dies mit Sleep direkt mache.
Ob das das gleiche ist möchte ich (ungetestet) bezweifeln. Aber in diesem Beispiel nutzt man ja einen TEvent um keinerlei CPU Zyklen zu verschwenden. Immer warten und pollen macht halt überhaupt keinen Sinn, wenn ich auch auf einen Event in Best Case: ~1–10 µs (Mikrosekunden) reagieren kann.
Ich persönlich finde den zusätzlichen Code für z.B. ein Event nicht gerade gut für die Lesbarkeit, denn das Event hat ja selbst dann gar keine Funktion.
Doch genau das was er soll... Warten bis etwas neues in der Queue ist. (Oder Terminate)
Mavarik