The thing about GC is that it doesn't free you from having to think about lifecycle management, it just frees you from having to write it down. I've seen a few memory leaks in Java programs due to people not putting enough thought into when a piece of data is no longer needed.
Granted, most programs don't run long enough/process enough data for poor lifecycle hygiene to become noticeable in GC'd languages.