In buffer README, I see “Pins may not be held across transaction boundaries, however.” I think for different transactions, they can pin the same buffer page, why not? For concurrent read transactions, they could read the one and the same buffer page.
You are right that different transactions can pin the same buffer,
but that does not conflict with what the README says, which is talking
about once the transaction is completed, all the Pins are removed.