Life of a window manager timer

Having a look at the template “operator_modal_timer” I notice that the timer can be removed by the programmer when the operator is cancelled because there is this class method def cancel(self, context) that is called automatically.

  1. But what happens when the operator is finished? Is the timer finished as well?

  2. What happens if I do not remove the timer at all? Could it be appended infinitely?
    This is a common problem with the scene handlers, where I do perform checks to remove one before appending it. Does this happen with timers as well?