I've encountered several "message sent to deallocated instance" bugs within my app and traced them to the use of
@property(nonatomic,assign)NSObject* object;
Replacing them with
@property(nonatomic,weak)BuffCollection* buffCollection;
solves the problem. Should I define all of my properties where I don't want to use strong to be using weak instead of assign?