Yes, I've been doing some debugging too, and in my setup gnome-screensaver is the culprit as well. Specifically it calls gnome_bg_create_pixmap() (from libgnome-desktop) with root == TRUE, which ends up creating a new connection to the X server, calling XSetCloseDownMode() to change to RetainPermanent, and then disconnecting. And in that case the X server keeps the client data structures around forever.
I'm now reading through the gnome-screensaver code to figure out why it calls gnome_bg_create_pixmap() repeatedly.
Yes, I've been doing some debugging too, and in my setup gnome-screensaver is the culprit as well. Specifically it calls gnome_bg_ create_ pixmap( ) (from libgnome-desktop) with root == TRUE, which ends up creating a new connection to the X server, calling XSetCloseDownMode() to change to RetainPermanent, and then disconnecting. And in that case the X server keeps the client data structures around forever.
I'm now reading through the gnome-screensaver code to figure out why it calls gnome_bg_ create_ pixmap( ) repeatedly.