C #, IAsyncResult e o pool de threads

Eu uso oAction<object>.BeginInvoke() método, ele usa o pool de threads ou não?

Eu tenho o seguinte código C #:

    List<FileHash> hashList1 = hashList.Where((x, ind) => ind % 2 == 0).ToList();
    List<FileHash> hashList2 = hashList.Where((x, ind) => ind % 2 == 1).ToList();

    Action<object> oddWork = CalcHash;
    Action<object> evenWork = CalcHash;

    IAsyncResult evenHandle = evenWork.BeginInvoke(hashList1, null, null);
    IAsyncResult oddHandle = oddWork.BeginInvoke(hashList2, null, null);

    evenWork.EndInvoke(evenHandle); 
    oddWork.EndInvoke(oddHandle);

O pool de threads é usado nos bastidores ou não? Ou o sistema cria threads normais?

questionAnswers(1)

yourAnswerToTheQuestion