Weird behavior of onPartialUpdate() on a physical device

I've noticed very weird behavior with onPartialUpdate() on a physical device.
I have published my WF app that uses onPartialUpdate() a few years ago and it worked as expected (seconds were updated every second). I did not touch a single line of code for about a year, and everything was fine... But a few months ago, users starts to complain that seconds on my WF got frozen.
I checked it on the F5plus device and notice that after 15 sec, onPartialUpdate() stops working. If you shake the watch it will work for another 15 sec.
On the emulator everything is fine. The code onPartialUpdate() is trivial (setClip, setColor, drawText). The PowerBudgetDelegate does not trigger.
Any ideas, why is that?