Xcode4 になってから Analize が優秀で、自分のコードが間違ってたりリークの原因を察知して 教えてくれます。
例えば、カスタムクラスを viewDidLoad なんかで生成して使い回したい場合、@synthesize してやりますが、以下のコードはあまり好ましくありません。
if (self.section == nil) self.section = [[Section alloc] init];
init したインスタンスを、self で経由しているのが問題。
if (self.section == nil) {
Section *_section = [[Section alloc] init];
self.section = _section;
[_section release];
}
と init → release と明示的にしてやるのが安全。