Возможно, у вас есть свободные от списка потоки.
По сути, существует некоторая система, которая заполняет свободные списки (например, сборщик мусора). Тогда у каждого потока может быть свой собственный свободный список, содержащий небольшое количество записей. Блокировка будет использоваться для выделения нового чанка. С блоками с 30 записями вы блокируете только один раз каждые 30 распределений. И наоборот, при работе с кусочками, специфичными для потоков, вам, возможно, придется запускать GC раньше, поскольку общий список может стать пустым, даже если некоторые из кусочков, специфичных для потоков, по-прежнему содержат свободные записи.