Garbage collection is a mixed blessing and curse.
When you are a beginner it really simplifies things; you can create an object and never worry about the rest of its lifetime. When you are writing small tools and short-running programs you don't have to think about memory management, it takes care of itself.
However, when your programs become more advanced, or when they are long-running, or when they are resource intensive like most modern games, resource management is very important. How important? When working on resource constrained systems like game consoles, mobile devices, embedded systems, and so on, or when you are working with very large data sets like your 9GB file on a desktop machine, I would say resource management is the most important factor in development; even if you introduce other bugs, don't mismanage the resources. You need to think about resource management continuously, and even a smallest error is likely to crash your system. Automatic garbage collection systems often hide or obscure that responsibility from programmers, making it so much easier to accidentally misuse it, hence the curse aspect. Using it properly is one of the biggest responsibilities of the programmer.
In most programs when you watch your resource usage "go up and up and up" like that, it means you have a bug in your resource management. Usually it means a resource leak. Usually it means your app will eventually slow down as it swaps to disk or crash suddenly when memory is exhausted. It is your responsibility to ensure resources are released in a timely manner so they can be reclaimed by the system.
Your next question, about my stance on garbage collections and choices regard it: It is something to be carefully monitored, like all other aspects of resource management. Several languages don't let you disable it, and many times it is a highly useful feature. It can be embraced, as long as you accept both the benefits and the responsibilities.
So in summary, yes, it does appear it is time for you to learn about proper resource management, including memory management, and end your blissful ignorance and reliance on automatic garbage collection. Programmers need to be responsible for the full object lifetime, even if that means a choice to clean resources up or let the GC do it, the programmers are ultimately responsible for the decision.
Edited by frob, 24 February 2014 - 12:33 PM.
Looks like you are talking about Objective C's Automatic Reference Counting (ARC) garbage collection.