Полагаю, что некоторые части выходят из строя, потому что ваш обфускатор разместил недопустимые коды операций в недоступных ветвях CIL (то есть, байт-код). Результатом этого является то, что JITer будет игнорировать их (потому что они находятся в недоступном коде), но инструменты декомпиляции будут работать, поскольку они будут пытаться декомпилировать все, включая недопустимые коды операций. Это в основном техника ловушек для декомпиляторов.
Возможно, стоит попытаться найти инструмент, который может лишить недопустимые коды операций.
Вот тот, который я нашел после небольшого поиска, но никогда не использовал его - удачи!
http://portal.b -at-s.net / download.php? View.439
Обновление
Из ваших комментариев видно, что мои подозрения были верны, у вас плохие коды операций в вашей сборке.
Я не могу дать совет по конкретным инструментам, но есть несколько инструментов для удаления плохих кодов операций. Поиск Google нашел альтернативный инструмент:
https://github.com/Contra/GIOR