It was indeed eaccelerator causing the problem. I suspect the following might be happening:
I'd suspect suPHP as the most likely cause. suPHP definitely prevents eAccelerator from maintaining shared memory. The swapping that I notice iis perhaps a consequence of the above. If each process allocates the same amount of (non)shared memory, the memory usage could explode pretty fast.
Seeing that it was 'working' before the update, perhaps it was actually 'not working' but in a different way. Maybe the memory allocation was failing and not running out of control.
I think this is pretty closely related to my other thread where I was asking about how to use different php.inis for each vhost: http://howtoforge.com/forums/showthread.php?t=41200