Eu me deparei com esse problema com diferentes aplicativos em diferentes plataformas. É um problema comum de codificação em que o código que usa arquivos não fecha o arquivo quando é feito com ele. O código deve sempre fechar o arquivo quando terminar de trabalhar com ele.
Um método comum de proteger arquivos temporários é abrir o arquivo, excluí-lo e trabalhar com ele. Isso pode ser o que está sendo feito aqui. No entanto, o arquivo permanece em existência até que seja fechado.
Uma solução seria limitar o número de pedidos que um filho do Apache manipularia antes de encerrar. Os arquivos serão fechados quando a criança sair. Definir MaxRequestsPerChild em algum lugar no intervalo de 100 a 1000 pode atenuar o problema. O valor padrão é 10000.