The TimerManager also has logic that causes your events to be called potentially multiple times depending on the timer rate and the current tick rate. E.g. lets assume your game ticks at a constant 60 FPS and you set your timer to a timer rate equal 120 FPS, the timer event will be called twice every game tick (ignoring any potential floating-point inaccuracy for a moment). If you stop/clear the timer in one of the events, then any consecutive calls that would have happen will be skipped.
Your game will most likely not be running at a constant frame rate however and it would be a bad idea to count on that. So while tick can easily account for this using DeltaTime your timer event has a hard time doing that (even if you use the Worlds DeltaTime). This effectively makes your rotation speed up or slow down causing it to stutter.