JVM не может выделить памяти для создания нового потока. Обычно это означает, что где-то есть цикл/рекурсия с созданием кучи потоков - больше, чем можно создать. Подробнее можно почитать
тут.
UPD
По приведенному примеру кода можно сразу сказать, что не стоит запускать один поток на каждый элемент списка (как минимум, на домашнем пк), особенно если размер может быть порядка сотен. Копай в сторону Producer-Consumer и подобных паттернов.