Ранее я получил ответ от Самира Аделя (и подтвердил в комментарии кого-то еще, я не помню, кто) использовать несколько потоков. Почему-то, к сожалению, этот ответ удалили. Я не был знаком с темой потоков. Я посмотрел эту тему в книге Pro C # 2008 и платформы .NET 3.5 Эндрю Троелсена. Я придумал следующий код:
Thread backgroundThread = new Thread(new ThreadStart(EMailPrepareAndSend));
backgroundThread.Name = "Secondary";
backgroundThread.Start();
Где EMailPrepareAndSend - это метод, для которого готовится сообщение электронной почты и из которого вызывается метод SendEmail () в классе EMail, показанный в моем вопросе. Это позволило программе продолжить работу немедленно, даже если электронное письмо не было отправлено. Спасибо Самиру Аделю, его ответ направил меня в правильном направлении.