Мне кажется, я знаю, что происходит.Ваша строка пути теряет область видимости внутри метода findGamePath.
Вы выделяете строку пути внутри этого метода и возвращаете ее?
Как только она теряет область видимости, она освобождается из памяти.
Попытка получить доступ к этой строке вызовет EXC_BAD_ACCESS при доступе к освобожденному объекту.
Не могли бы вы опубликовать здесь код findGamePath?Это может прояснить проблему больше.
О, и это больше связано с управлением памятью, чем с безопасностью потоков.