以下について
NSImage *image = [[UIImage imageNamed:@"foo.png"] retain];
...
[image release];
私の理解では、imageNamed から返されたオブジェクトは自動解放されると思われます。ただし、オブジェクトには保持があり、その後明示的に解放されるためです。明示的なリリースは、参照カウントを減らすだけでなく、後で GC されるのを待つ代わりに、オブジェクト全体のリリースをトリガーします。release 呼び出しが行われると、iOS はまずオブジェクトの参照カウントを減らそうとし、その時点で他のボディがオブジェクトを参照していないことを確認すると、割り当てられたメモリを解放することを決定します。正しい理解と仮定ですか?