Как убрать фриз программы c# WPF?
Вы запускаете все в отдельном потоке и "джоините" его к UI-потоку. Джоин блокирует текущий поток, до окончания работы другого потока, так что код у вас по сути синхронный. Используйте async\await.
В данном случае, скорее всего "фризится" подготовка InteliSence к показу исключения. Посмотрите, есть ли такая же задержка при запуске exe без студии.