title: When is SystemTimers.Timer considered garbageif no reference is saved?
body: <p>I am very curious to know when a System.Timers.Timer is considered garbage and therefor collected by the Garbage Collector if I do not store a reference to it, but it is Enabled. <br>
  But at what point is my Timer considered garbage?</p>
  
  <p>Consider the following code:</p>
  
  <pre><code>public void TriggerUpdateStatus() {
      toolStripStatusLabel1.Text = "*";
      new Timer() {
          Interval = 1000,
          Enabled = true
      }.Elapsed += new ElapsedEventHandler(
          (object sender, ElapsedEventArgs args) =&gt; {
              toolStripStatusLabel1.Text = "";
              Timer t = ((System.Timers.Timer) sender);
              t.Stop();
              t.Dispose();//Is this needed?
          });
  }
  </code></pre>
  
  <p>This block of code will run once every two seconds when my code triggers an update, it then adds a star character in the bottom corner of my form, indicating that the connection is alive and well. I create a Timer with no reference that will simply remove the star again after a second, stop it self and dispose of itself.</p>