シミュレーターのInstrumentsでアプリを実行してメモリリークをチェックすると、このコードブロックのリークを示しているようです。
for (NSDictionary *messageDict in messageDataArray)
{
message = [[Message alloc] init];
... set some properties on the 'message' object
[messages addObject:message];
[message release];
}
明らかに、このループでは、オブジェクトを割り当て/初期化しますが、終了したら解放します。これは、Instrumentsがそのループ内のアクティビティをどのように認識しているかの単なる症状なのか、それとも私が気を失っている(または他の何かを完全に間違っている)のか疑問に思います。