Quick answer: Memory usage that grows over a session is almost always a memory leak: memory allocated and never freed. From objects kept in collections, handlers never unsubscribed, unbounded caches, and assets never unloaded.

If your game's memory usage climbs the longer it runs, that steady growth is a specific and recognizable problem, a memory leak. Here's what causes memory usage to grow over time and how to recognize it.

Growth Over Time Means a Leak

A stable game holds roughly steady memory; one whose memory climbs continuously over a session has a leak, memory allocated and never released, accumulating. The causes are the classic leak patterns.

Each leaves memory nothing will free, so it piles up. Steady, continuous growth over a session is the signature distinguishing a leak from a one-time spike.

Why It Only Shows Up Over Time

A leak's growth is gradual, so it doesn't appear in quick tests, you have to play for a while before the accumulation becomes visible and causes problems. This is why leaks escape testing and only crash players in long sessions, when memory finally exceeds the limit.

Bugnet captures memory-related crashes and performance over real sessions, so the long-session out-of-memory crashes a leak causes surface in your data even though a quick test would miss them. Recognizing the growth-over-time pattern is how you identify a leak.

Finding What's Growing

Finding the leak means tracing what keeps accumulating, the suspects are growing collections, uncancelled handlers, unbounded caches, and unloaded assets. Field data showing which longer sessions correlate with memory pressure narrows where the growth is happening.

Bugnet helps you see which situations and longer sessions correlate with memory pressure and crashes, pointing you toward the leak. So memory usage growing over time is caused by a leak, and finding it means recognizing the growth signature and tracing what accumulates without being freed.

Memory growing over a session is almost always a leak, memory never freed, from objects kept in collections, uncancelled handlers, unbounded caches, or unloaded assets. The growth signature only shows in longer sessions.