What? This makes NO since to me at all. In fact when I add a Console.WriteLine("...") right before the call to NSBezierPath.FromOvalInRect(rect), it no longer crashes! I haven't seen errors like this since working with flash? The Console.WriteLine leads me to believe this is some kind of thread / timing issue?? The draw is invoked by SetNeedsDisplayInRect(Bounds). Even more confusing, the NSLabelCellView is only used in an entirely different window and this button object is only used in one other area not related to NSLabelCellView in any way.