Existem algumas linhas no seu arquivo php.ini
que são relevantes. Um é o memory_limit que define quanta memória RAM um dado script php tem permissão para comer, o outro é max_execution_time que define quanto tempo de CPU ele recebe antes de ser eliminado. Esteja ciente de que este último momento é baseado no tempo da CPU e não na hora do relógio, portanto, se ele não estiver usando nenhuma CPU, talvez não some.
Além disso, como você observou, esses são hacks temporários para atenuar um aplicativo mal-comportado, e não uma correção real. Você pode achar o strace
útil para descobrir exatamente o que os processos que consomem memória estão fazendo.