Looking at that code, as the timer is created as a one-shot timer I would expect the callback to execute once.