Вам необходимо сохранять элементы в XML-файле по мере их загрузки.Ясно, что вы не можете добавить в коллекцию как ArrayList много элементов, но сохраняете мало памяти.
В этом случае вам нужно записать XML в файл, используя что-то вроде: XMLStreamWriter.Избегайте использования библиотек, которые загружают все в память перед записью на диск.