@frontend_coder Проверяй количество элементов в ресурсе, если 0 - закрывай поток с ошибкой без перезапуска потока.
spoiler
Краш программы это всегда баг. (с)
Создаём функции OnApplicationStart один экшен Создать Ресурс, далее в main проверяем количество элементов и выставляем условие:

В итоге, в режиме записи if отрабатывает правильно, без ошибок. А в режиме запуска вылетает BAS

Не зависает (или делает вид), а именно вылетает.
Вот тестовый скрипт.
Что бы убедится, что BAS не зависает а крашится я переделал скрипт:
Добавил в ресурс значений

А в main стал их использовать

Итог:

Крашится как заканчиваются ресурсы.
Вот второй тестовый скрипт.
Для тех, кто думает, что косяк именно в самом условии, я сделал ещё один тестовый скрипт :D
Создаём функции OnApplicationStart один экшен Создать Ресурс, далее в main проверяем количество элементов и выставляем условие:

Итог в режиме запуска всё нормально работает

@FastSpace :D спасибо за совет. Но баг я здесь описал, что бы @support его мог поправить.