I have a System.Timers.Timer object that I want to use, but I don't want the processing tied to the Timer to interfere with normal to high priority threads. In other words, I'd like to say that I want to process X every 5 seconds *as long as nothing else is running*.

How could I ensure that my Timer operations are running in a low-priority manner?