Spróbuj tak to napisać, żeby nie brało całej treści od razu (jeśli to możliwe), czyli wczytuj na bierząco tylko tyle ile potrzebujesz. Swoją drogą dziwne, żeby skrypt zajmował aż 250MB RAM-u. Co ty tam nawczytywałeś

? Jeśli masz zmienną, która posiada bardzo dużo danych, to możesz ją usunąć (i za razem zwolnić pamięć) za pomocą unset($zmienna); oczywiście nie ma takiej potrzeby, jeśli to jest w osobnej funkcji, bo po jej wykonaniu lokalne zmienne są kasowane.