Каждый создаваемый вами поток занимает место в стеке. В Windows это по умолчанию 1 МБ. Существуют и другие внутренние структуры данных служебного хранения, которые операционная система использует для отслеживания потоков, которые также занимают немного памяти, но стек 1 МБ определенно станет самым большим потребителем ресурсов.
Сказав, что, если мы говорим только о 2 против 3 потоков, то разница довольно мала. Если бы это было 200 против 300, то вам может быть о чем беспокоиться. Но если вы порождаете много потоков, вам лучше использовать некоторый пул потоков (например, , встроенный в .NET Framework ), а не порождать отдельные потоки в любом случае.