Mmmm...
gatorv tiene razón con lo del revisar el algoritmo, por lo de la memoria no estoy muy seguro de cuanto es el tope, si el problema es con el tiempo de ejecución, te sugiero es usar la función
ini_set() en cada iteración de tu script así el tiempo de ejecución se renueva cada vez que inicie el loop, prueba a ver y me cuentas que paso.
Saludos...