Обычно, если приложение работает в режиме отладки, но не в выпуске, это потому, что для некоторой переменной или памяти не было правильно установлено начальное значение.
В сборках отладки переменные и память обычно устанавливаются в ноль, но в выпуске этот шаг пропускается, чтобы сэкономить время. Дополнительные данные также добавляются вокруг объектов и выделяемой памяти в качестве барьеров для обнаружения перезаписи памяти.
Иногда (очень редко) оптимизация в сборке релиза приводит к ошибке