An interpreted dynamic language without GC is a dinosaur. Refcounting often misses even the obvious cycles in simple closures - and that's something that shouldn't happen.
iOS is losing GC because it never was feasible in the first place. Objective-C requires a conservative GC that fully scans the app's RAM for all possible pointer-like data - and that is not really a good idea on a small device. Precise GCs in Android, WebOS and WinPhone do not suffer from this.