When there is a problem the very first step is to find out what's happening. Apache is rock solid software so there must be something in his setup or software that isn't right.
My line of action would be:
- check the logs(apache and system ones), looking for errors or limits reached.
- if no clue, try to reproduce it, same os, software versions. Make scripts to simulate the load.
- strace the processes when they lockup (dtrace 'em in Solaris).
- get a coredump(kill -SIGABRT), compile apache and their module with symbols (-g CFLAG), an gdb it.
I'm not a sysadmin anymore, but that's what I would have done when I was one.