ThreadPool.QueueUserWorkItem vs Tâche.Usine.StartNew

quelle est la différence entre le dessous de

ThreadPool.QueueUserWorkItem

vs

Task.Factory.StartNew

Si le code ci-dessus est appelé à 500 fois pour certaines tâches en cours d'exécution signifie-t-il tous les threads du pool de threads seront prises jusqu'?

Ou va TPL (2ème option) être assez intelligent pour faire de threads inférieur ou égal au nombre de processeurs?