Если вы беспокоитесь о памяти, то исследуйте, например, с помощью "jvisualvm" в JDK.
Содержимое письма и события, необходимые для его генерации, сохраняются в памяти. Я призываю вас изучить исходный код.
Если ваше приложение выходит из JVM, никаких действий больше не предпринимается, но письма с ошибками должны были быть отправлены немедленно Если это вас беспокоит, рассмотрите возможность добавления перехватчиков завершения работы, когда JVM завершает работу.