Autorelease isn't a silver bullet for Obj-C memory management. There are a number of cases in which you would NOT want to autorelease objects - tight loops, for example.
If you're already in the habit of autoreleasing everything you +alloc, why not just release it when you're done with it instead?