I have the following code:
public static void Send(this MailMessage email) { if (!isInitialized) Initialize(false); /
Thread is diposed when its routine comes at end. So NO, you don't have to do it, it's not necessary (nor possible I think).