I have experienced the same thing on two laptops running current. I tried fluxbox and Xfce and it happened for both of them: if pulseaudio is started during the X session (eg., play an MP3, watch a video) as soon as I exit the WM back to the console the pulseaudio process pegs a CPU core at 100%.
It seems when pulseaudio starts in X, it spawns /usr/libexec/pulse/gsettings-helper. When you exit X, the gsettings-helper process is zombified and pulseaudio goes to 100% CPU. Even if I kill -9 the gsettings-helper process while in X, it also sends pulseaudio to 100% CPU.
So I tried making gsettings-helper non-executable and that seemed to fix the problem for me: pulseaudio no longer goes berserk when I exit X. The only side-effect seemed to be a couple of error messages in syslog.
As far as I can tell, gsettings-helper is part of pulse's module-gsettings which can be used to store config stuff and is used by the paprefs tool which a). isn't part of Slackware's pulseaudio package and b). the paprefs SlackBuild is at version 0.9.10 which doesn't use module-gsettings anyway (?) but uses module-gconf which is deprecated. (Slackware 14.2 has pulseaudio 9 with module-gconf, no module-gsettings. Slackware-current has pulseaudio 14 with module-gsettings, no module-gconf.)
So the final fix for me (so far) is to not load module-gsettings in /etc/pulse/default.pa.
Code:
### Load additional modules from GSettings. This can be configured with the paprefs tool.
### Please keep in mind that the modules configured by paprefs might conflict with manually
### loaded modules.
#.ifexists module-gsettings.so
#.nofail
#load-module module-gsettings
#.fail
#.endif
I still don't know why gsettings-helper doesn't exit properly.
Geoff.