MultiXact
PostgreSQL's construct for when several transactions need to lock the same row at once. It has its own counter that can wrap around, and that is rarely good news.
A row has a field normally holding the identity of the transaction that deleted or locked it — exactly one. When two or more need to hold a shared lock simultaneously, which is precisely what foreign key checks do, that isn't enough. A MultiXact ID is stored instead, pointing into a separate structure holding the member list. Two practical hazards follow. The counter is thirty-two bits and has its own freeze deadline independent of transaction IDs, with the same shutdown as the consequence if it isn't kept up with. And under heavy concurrent load against the same referenced rows, that structure can become a bottleneck, producing stalls that are nearly impossible to understand without knowing it exists.