Мой опыт и я сомневаемся в успехе концепции, когда если из кода убрать защиты и подстраховки, то работать оно будет по-прежнему и на нештатные ситуации приложение будет реагировать предсказуемо как и в режимах отладки, поэтому я боюсь за всё). Строгой классификации ситуаций с проверками нет, что, когда и для чего предназначено, по законам Мерфи вместо assert будет enforce, вместо enforce assert, вместо enforce\эксепшена контракт и т.п. комбинаторика. Мне кажется, что менее рисково не морочиться и включить вообще всё, вернее не выключать через release. Для какого-нибудь хайлоада\эмбеддеда это уже другой вопрос. И мне кажется название этого флага может ввести в заблуждение, я бы предпочел там видеть часть слова unsafe или что-то такое. Обычно релиз наоборот, предполагает повышение стабильности и безопасности, а не наоборот, имхо. Надеюсь, он там что-то в консоль пишет, а то кто-нибудь соберет себе релиз с выключенными проверками.