Utilizzi una libreria (mezzo framework), scriptcase, per fare quella query.
per capire se il problema risiede lì, cioè in un errore della libreria che non libera adeguatamente la memoria che utilizza, man mano "consumandola", fino ad arrivare all'errore, ti suggerisco di far eseguire direttamente la query, ad esempio con PDO, sicchè eliminare un candidato dall'elenco dei possibili problemi.
Tra l'altro non mi è chiarissimo perchè fai un busy waiting del genere, invece di far segnalare dal client (cioè da js dentro il browser) al server (PHP) che "qualcosa" è avvenuto