Vivoactive HR: watch face with never-ending animation (bug?)

I ‘managed’ to create a watch face with animation that never stops on the Vivoactive HR. I thought it wasn’t supposed to be possible, and of course such a ‘feature’ has a negative impact on battery life. Here’s it:

Video:
https://youtu.be/H6Z8uiRbrDU

Download:
https://apps.garmin.com/en-US/apps/8...0-f222052c9285

On the Fenix 5S it works as I expected (it is shown in the video around 1:11). The animation stops after a while (i.e. when the watch enters the sleep mode). Although the seconds are displayed on the F5S and not on the VAHR, the code is basically the same. I don’t use build exclusions and onPartialUpdate() is there for both devices. In the simulator it works as expected on all devices. Animations start when I uncheck 'Low power mode' and stop when I check it:

https://youtu.be/3RkTx66XJkI

I use a timer for the animations. In onShow() and onExitSleep(), this variable becomes “timer = new Timer.Timer()”. In onEnterSleep(), I check if the variable isn’t null. In this case, “timer.stop()” is called, and then “timer = null”. In onUpdate(), I also check if the variable isn’t null. If it isn’t, then “timer.start(method(:timerCallback), 150, false)” is triggered (remark that ‘repeat’ is ‘false’). In timerCallback(), WatchUi.requestUpdate() is called, and so the timerCallback() will be triggered again and again, as long as timer != null. In theory, if onEnterSleep() happens, the variable should become null, and .start would not be called anymore. So I think something “unexpected” (device bug?) is happening here.

EDIT: The funny thing is that sometimes it seems to work fine on my VAHR now :-P