Ошибка OOM связана не с памятью потока (стека), а с кучей памяти.
Похоже, у вас слишком много объектов в памяти - создайте дамп кучи, чтобы проанализировать, что именно заполняет всю память:
полезная ссылка о захвате дампов кучи
После анализа вашего конкретного случая, в качестве решения (если допустимо иметь такое количество объектов в памяти), вам может потребоваться увеличить размер кучи с помощью параметра jvm: -XX: MaxPermSize = 512m