I edited the previous post with some working code for convenience.
The following code (ARC'ed) seems to be leaking and working for a short period of time:
If I let this run on the device or the simulator for a long time (a couple of minutes), I will receive either a malloc mmm (sim) error or a warning (device) of memory and a failure.
The transition between the selection tools I see + [UIColor colorWithRed: green: blue: alpha:] begin to act until, finally, hit the memory wall.
I can assign a UIColor property (directly or by making a copy), say self.myColor = color, and there is no leak.
I can do this too:
[[self.nsBackColor objectAtIndex:x] replaceObjectAtIndex:y withObject:[self description]];
and I get the same leaks.
It seems to me that the object is replaced in an array (and yes, it originally started as a 2D c array, but I thought it was a problem) was forever lost and leaked and was not properly released.
These will be Tools-> Selection after launch for a short period of time:

Any help would be greatly appreciated and additional information could be provided.
source share