Dc glitches black sometimes, not in simulator

I stumbled into some glitch.

When onUpdate is called I check if any values changed (cacheValid = true). If not, I call onPartialUpdate and only redraw the area from the previous second hand position and draw a new seconds hand.

I set cacheValid to false onHide, onShow, when the minute changes or when values change.

This works great, all logic is passed and less computing time is used.

However sometimes, mainly after starting the watchface, the dc get's black instead of inheriting the context. You only see the redrawn area (the cached buffer bg stays intact) and the new seconds hand.

This does not happen in the simulator, however it happens on my F8 Solar as well as on my Venu 3 amoled display.

The strangest thing is that it doesn't seem to happen in the always active state, where onPartialUpdate is directly called by the system.

Any ideas where I need to search for a solution?