You're correct. Leaks does not report it as a leak. It's just memory that is never freed. What I've found is this:
After this line...
Code:
CGImageRef ref = CGBitmapContextCreateImage(bitmap);
...ref has a retain count of 1. But after the next line...
Code:
UIImage* result = [UIImage imageWithCGImage:ref];
...ref has a retain count of 2. I'm not really sure why. The obvious answer of calling CGImageRelease twice to bring the retain count down to 0 causes an EXC_BAD_ACCESS later when I try to access the returned image. I think that may be what you were trying to handle with the autorelease above, which I just tried, but I don't think CGImageRef is autoreleaseable, so no dice...
Thanks,
Tom