PostgreSQL operates a process-per-connection architecture rather than a threaded worker model. Each backend process maintains private virtual memory heaps (relcache, catcache, work_mem) while synchronizing via POSIX shared memory (shared_buffers, lock arrays).
Even idle backend connections consume resident memory. Critically, idle in transaction backends hold open snapshot pins that block autovacuum from reclaiming dead tuples, leading to severe table bloat. Under extreme concurrent activity, frequent snapshot updates induce ProcArrayLock cache-line contention and OS scheduler overhead.