title: System.Timers.Timer lifecycle
body: <p>which is the right approach to use a System.Timers.Timer?
  I mean... I create the timer, set the interval and the method to be called on the Elapsed event.</p>
  
  <pre><code>double ms = 1000;
  var t = new System.Timers.Timer(ms);
  t.AutoReset = false;
  t.Elapsed += (sender, e) =&gt;  { runTask(); }; 
  t.Start();   
  </code></pre>
  
  <p>What next? Should a call dispose on the Timer? I suppose I can't, or the Elapsed event will never occur.
  Should I register the Timer in some global variable to avoid to lose references to it and so the GC could dispose the timer before the Elapsed is called?
  And if so, how can I dispose the Timer once the Elapsed event has been handled (thus my task has been executed)?</p>