Arduino rifà la setup

GalaxyHD96:
quindi all'esaurimento della ram, il micro si resetta!

Non è detto.
All'esaurimento della RAM il micro ha un comportamento imprevedibile.
Di solito però si pianta più che resettarsi, almeno che non sia attivo il WatchDog.
Comunque usando la funzione F() ha liberato moltissima memoria. Quindi un blocco per memoria esaurita adesso è meno probabile.