If Bullet is running on its own thread, use a reset event to control timing rather than a sleep.

In theory, there should be no difference between these mechanisms.
However, on at least Mono 3.2.8 waiting via an event appears to be much more accurate.