When you want to execute a piece of code at regular intervals, you should not start a dedicated thread to do this. Instead you should use a timer.
If the task you want to perform involves GUI interaction, it is best to use the Windows.Forms.Timer class. An example:
If the code does not involve GUI interaction, it is best to use a threadpool-timer. However you need to be careful: if your code takes longer to execute than the interval of the timer, you will cause threadpool starvation! This occurs if the maximum amount of threadpool-threads is reached. This will cause serious problems for the complete process because all code that uses the threadpool (including .NET Remoting) will be blocked.
As a workaround you can set the timer to execute only once, and reset it every time it has executed:
So there is no need to start a dedicated thread just to perform a piece of code at regular intervals.