That should not happen because the timer will be started in the CPU and with the tick it will be called and the timer creater thread wil not be waiting for that ticks there is something definitely wrong in either the implementation or making of your assumptions in the control flow.