No, but it does simplify coding a lot.
In the presence of a GC many algorithms and code refactorings become much easier if you don't have to track all the time who is responsible for releasing a chunk of memory.
Specially in the presence of multicore algorithms and big code bases.
Added to that the fact that in today's industry developers tend to know just a little bit of the code base, given the size of some projects and team's attrition.
GC doesn't solve all problems, for instance some of the weak reference bugs crop up just as often in Java as they do in Objective-C w/ ARC and ref counting.