I'm trying to move MPExtended away from using the Thread class to using TPL or the Timer component. That's mainly because it's very easy to start a thread without exception handling, and those threads crash the whole service if an exception is thrown. 

So you should use either the Timer class here, or add a try/catch around the whole body CheckConflictingProgramsRunning.