title: Can I stop a System.Threading.Timer
body: <p>I have an application that uses timers to occasionally run monitoring tasks on secondary threads.  Some of these cleanup tasks take a lot of time and I would like to be able to abort these tasks (gracefully if possible) when my user ends the program.  </p>
  
  <p>Is there any way to abort the thread programatically as I can with Thread.Abort(), or would I have to add a flag to the code to indicate that the thread has finished and check for that in valrious places in the code that is started by the timer?</p>