Обычный Lock эксклюзивный: пока кто-то держит его, все остальные ждут, даже если фактически хотят только прочитать данные, не изменяя их. Представь, что 1000 потоков хотят просто прочитать данные, но из-за обычного Lock 999 из них будут спать в ожидании, пока один читает - хотя чтение одними и теми же данными сразу несколькими потоками совершенно безопасно и никак друг другу не мешает. Это создаёт искусственное узкое место и убивает смысл конкурентности там, где записи редки, а чтения многочисленны.