Так, я понял, я смотрел .net reference code, не mscorlib github
Есть начальное значение для каждого потока - seed, оно просто инкрементируется (там посложнее, но в целом суть такая) и записывается в индекс блока синхронизации
Есть начальное значение для каждого потока - seed, оно просто инкрементируется (там посложнее, но в целом суть такая) и записывается в индекс блока синхронизации