An application written using programming languages like C and C++ requires you to program the destruction of objects in memory when they’re no longer needed. The more your application grows, the great the probability that you’ll overlook releasing unused objects.
Source: LXer – 7 kinds of garbage collection for Java