.NET thread pool uses threads that map to logical cores. In turn, on machines with HT, this means scheduling to both HTs for each processor core.
Is there a thread pool of threads that were created with affinity to physical cores instead of HTs?
This is to avoid additional contention in floating-point heavy applications run on CPU. A developer could simply use a custom scheduler and get tasks running, one per FPU/AVX unit.