Я не знаю, можете ли вы это сделать, но вы можете изменить приоритет потока исполняющего потока через свойство Priority Вы установили бы это:
Thread.CurrentThread.Priority = ThreadPriority.Lowest;
Кроме того, я не думаю, что вы действительно хотите ограничить это. Если машина в противном случае простаивает, вы хотите, чтобы она занялась этой задачей, верно? ThreadPriority помогает сообщить об этом планировщику.