Решено, я переписывал мейн и фактически у меня было две копии с небольшими отличиями. Суть в том, что я думал, что бас запускает всегда функцию Main, но в моем же случае он запускал по какой-то причине иную, устаревшую.
@Fox сори за некропост, других подходящих тем не нашел.
То есть это нормально, что поток в async функции при любом раскладе завершается успехом?
Так реализован модуль, если бы можно было сделать по другому, разработчик бы так и сделал. Последнее его сообщение на эту тему было: Насколько я помню, такое поведение реализовано чтобы не увеличивать количество неудачных выполнений скрипта и не менять условия завершения скрипта. Но я не помню точно. Пересматривать сейчас эту логику не считаю приоритетной задачей.