From documentation:
The MaxDegreeOfParallelism limits the number of concurrent operations
run by Parallel method calls that are passed this ParallelOptions
instance to the set value, if it is positive. If
MaxDegreeOfParallelism is -1, then there is no limit placed on the
number of concurrently running operations.
This function throw only ArgumentOutOfRangeException
and type of MaxDegreeOfParalleism
is int. So it means, that it can create more threads than count of cores.
I can confirm it, because I've ran a lot of xml generation processes and Task Manager shown count of processes exactly as I've set before.