[NSArray arrayWithObjects:] является методом класса , который возвращает массив, который является автоматически выпущенным объектом .so u не должен освобождать его .
если вы используете для создания объекта с подобным alloc, copy, retain, то только вы несете ответственность за их освобождение.
NSArray *items=[[NSArray alloc]initWithObjects:button1, flexItem, button2, nil];
............
[items release];
как это для button1Image object.take care