title: Do we need to dispose or terminate a thread in C# after usage?
body: <p>I have the following code:</p>
  
  <pre><code>        public static void Send(this MailMessage email)
      {
          if (!isInitialized)
              Initialize(false);
          //smtpClient.SendAsync(email, "");
          email.IsBodyHtml = true;
  
          Thread mailThread = new Thread(new ParameterizedThreadStart(
              (o) =&gt; 
              {
                  var m = o as MailMessage;
  
                  SmtpClient client= new SmtpClient("smtpserveraddress");
                  client.Send(m);
  
              }));
          mailThread.Start(email);
  </code></pre>
  
  <p>I want the mail sending to be done in the background without interfering with the main thread. I do not care when it is finished.</p>
  
  <p>Do I need to somehow handle the dispose of the created thread (<strong>mailThread</strong>)?
  Or does it automatically dispose when it finishes its job?</p>
  
  <p>Please do not recommend the SendAsync method. I would like to create the thread manually. Mail.Send was only an example scenario.</p>
  
  <p>Thank you.</p>