Ваше приложение может пытаться выделить память, превышающую ваш предел в 512 м, поэтому вы видите ошибку вне памяти, даже если используется только 50 м. Чтобы проверить это, я бы установил:
-Xms512m -Xmx1024m
И посмотри, что получится. Я также попробовал бы меньший тестовый файл, скажем, 1g. Продолжайте уменьшать размер файла, пока не перестанете видеть ошибку. Если вам это удастся, то проблема в том, что то, что вы пытаетесь сделать, и то, как вы пытаетесь это сделать, занимает слишком много памяти. Время искать альтернативный подход.