I notice I am confused how the code needed for the GPU to sleep was implemented.
It was failing when simply saving/copying gigabytes of flat memory, but on the other hand it was able to recover successfully the previous complex hw and sw state and data structures?!
I guess it probably makes sense if after waking up that data is actually dropped and the gpu and ui is reinitialized and redrawn.