Ostia mortiprogramador jajaja, justo ahora venia a postear la solucion que al final he encontrado y justamente es eso que has puesto.
Resulta que llevo unas 5 horas testeando y buscando informacion, habria terminado antes si 5 minutos despues de postear mi mensaje hubiera leido el tuyo... xD, y tras leer esto
http://paul-m-jones.com/archives/262 he actualizado mi mamp a la ultima version para tener la funcion memory_get_usage y testear, y tras testear revisando toooodo el script he conseguido estabilizar en gran medida mi script.
Seguramente ya no pete :D, de todas formas voy a dejar todo el dia funcionando el script y a ver que pasa.
La solucion fue usar unset, como se explica en el tema que has puesto me libera toda la memoria, que cada vez eran de 1/2 mb, logicamente por eso se cortaba tan rapido incluso con 2000 megas de memory limit en el php.ini
Sin duda a partir de ahora voy a usar mucho unset.... algo que no usaba nunca.