Start here. This is the direct spoken answer to practice first.
Why this question matters
A managed leak retains objects that should have died, while allocation pressure creates large volumes of temporary collectible objects. Heap behavior after full collections, allocation rate, traffic correlation, and root paths distinguish the two failure modes.
A managed memory leak means objects stay reachable even though the application no longer needs them. Allocation pressure means the app creates many temporary objects, but they are collectible. Both can increase memory and GC work, but the cause is different. For a leak I look for roots like statics, events, caches, or long-lived services. For pressure I look for hot paths that allocate too much per request, such as repeated string creation or loading large lists.