Вообще многое зависит от размера файла. Если файл большой (больше мега) то вообще про PHP забудь, смотри в сторону более шустрого кода. Если файлик довольно велик - не пользуйся регулярками до тех пор, пока без них уже не удасться ничего выудить. Пока можешь используй strpos() + substr(). Я файлы в несколько мегабайт парсил на ассемблере. А вообще файл в памяти висит, пока работает повесивший его туда процесс. Следовательно он исчезнет оттуда с завершением работы PHP сценария. Можешь написать конечно службу/демона чтобы та висела постоянно, только какой хостер тебе позволит ее поставить (если тока на VDS или дедик). Да и смысл чтобы он там висел вечно?