Add a timer for timeout without allocating a new Task

We should not allocated a new `Task` when we are simply scheduling the termination of the current `Task`.