If I'm going to have to be mindful of the GC I'd rather just avoid a GC language altogether. An abstraction you have to be obsessively mindful of is worse than no abstraction at all.
When you write code you need to care about your allocations, whether you have a GC or not.
When you write code without a GC you need to be mindful of freeing memory. With a GC you do not.
So the GC relieves part of the burden of memory management, and that part is often the hardest part (particularly in concurrent systems).