As long as it's public blockId may easily not be in the memory store, so this comment is incorrect now. I think only one thread dropping blocks requirement is related to ensureFreeSpace, so that it can correctly calculate amount of needed and actually freed memory.