Have turned off screensaver for now till I get time to look at this.
From Ubuntu wiki:
Problem: Freezes occur when idle and screensaver is set to random settings or OpenGL
A lot of freezes occur in the 3D code, and go unnoticed by users that don’t otherwise use 3D stuff, except when an OpenGL screensaver activates.
One common situation is when the screensavers are set to “random”, and allowed to mix in OpenGL 3D screensavers with the regular 2D ones. Not all 3D screensavers will trigger the freeze, and some will trigger it only a portion of the time.
An obvious workaround would be to set the screensaver to blank screen (or avoid the problematic OpenGL screensaver). Alternatively, you can disable DRI support in your xorg.conf (see below).
Problem: Freezes when screensaver or video player changes DPMS settings
Display Power Management (DPMS) allows controlling the standby, suspend, and off time for your video monitor. Various software apps utilize this to do things like prevent the screensaver from turning on while watching a movie, or to power off the monitor after it has been idle a while.
Freezes that occur when the machine has been idle, that aren’t due to OpenGL screensavers, may indicate bugs in how DPMS is working. Freezes that seem associated with exiting applications or switching to or from full screen, can suggest possibly the app tried to poke at DPMS and triggered a bug.
You can manually invoke and control DPMS using the xset command line tool:
sleep 1; xset s activate
Or to turn the screensaver off:
sleep 1; xset dpms force off
You can also use commands standby, suspend, or on instead of off.
Another workaround is to disable DPMS in xorg.conf, by adding an option to your Monitor section:
Option “DPMS” “Off”