No, it won't be able to update the UI on the main thread if something is blocking it from doing so. As that is functionality in AppKit, there isn't a whole lot you can do. I don't really know of many apps that can get away with updating while the mouse is down when written in Cocoa.
If you send an autoreleased object, you very well could wind up sending a nil/invalid object by the time the selector actually fires. I'd either use a different data structure (an array or something will probably work best) that lives in the class that will do the updating. Put your objects into that array, and only have the selector use the /latest/ or /last/ item in the array to update the UI when it fires. That way, you can simply empty/clear the array after one update and be done, no matter what causes the main thread to not run your selector for awhile.