Если вы беспокоитесь, что ваше приложение может продолжать работать, когда оно фактически мешает другим пользователям / процессам, вы можете просто запустить задачу с низким приоритетом. Таким образом, когда другие процессы, интенсивно использующие ЦП, будут запускаться, ваш отойдет на задний план.
Что касается многопоточности, это зависит от вашей ситуации. Если у вас есть несколько ядер / процессоров, и вы можете разделить свою проблему на параллельные задачи, вы можете использовать более 1 потока. В то же время, если у вас есть несколько ядер / процессоров, которые вы можете сэкономить, у вас также меньше риск перегружения всего ЦП с помощью однопоточного приложения, поскольку другие процессы будут просто перенаправлены на использование других ядер / процессоров.
Я использовал вашу стратегию планирования консольного приложения, чтобы выполнять грязную работу в непиковое время. У меня до сих пор не было никаких проблем, и я не зашел так далеко, чтобы разделить задачи и перейти к многопоточности.