It seems you are learning the hard way that PHP is a memory hog and not particularly scalable.

Some suggestions, in no particular order:

If you still suspect a memory leak set MaxRequestsPerChild to really low value.

Consider buying more memory, 360 megs is really not much nowadays.

Try finding an average size of httpd process by running ps or top and then setting MaxClients so that everything always fits in memory. Swapping is a death spiral, the slower you are processing the requests because of it, the more processes apache needs to fork, using even more memory.

If you laod php as a module in apache it gets loaded for every request, be it a script or a static file (an image or css or .js or whatnot). Consider serving static content from a separate server or using fastcgi or a reverse proxy like nginx to have apache serve only php to limit the number of fat php instances you have to keep in memory.