Added in symbol packages and ran compiz for a couple of minutes under valgrind.
==14236== LEAK SUMMARY:
==14236== definitely lost: 57,142 bytes in 707 blocks
==14236== indirectly lost: 121,649 bytes in 3,809 blocks
==14236== possibly lost: 505,138 bytes in 2,110 blocks
==14236== still reachable: 15,955,329 bytes in 74,116 blocks
==14236== suppressed: 40,536 bytes in 402 blocks
==14236== Reachable blocks (those to which a pointer was found) are not shown.
==14236== To see them, rerun with: --leak-check=full --show-reachable=yes
Going to leave it running whilst I have a break to recreate the conditions when it goes to screen saver and does not come back.