Memory Leak
A memory leak happens when a program keeps memory it no longer needs and never releases it, so its memory use keeps growing until the program slows down or crashes with an out-of-memory error.
In C and C++, leaks come from allocating memory (malloc, new) and never calling free or delete. In garbage-collected languages such as Java, JavaScript and Python, memory leaks when objects stay reachable by mistake: growing caches and static collections, event listeners that are never removed, timers, or closures holding large data. Profilers and heap snapshots show which objects are piling up.

