Ok, after much searching and trial and error I found this..

<blockquote><i>We handle the NSAutoreleasePool for you on the main thread, but  
when you spin up threads that touch obj-c objects, you need to manage  
the pool yourself. </i><blockquote>

so, when I do the delegate its in another thread.  To get around this I just add a little coco-esc cleanup.

<pre>                        t.Elapsed += delegate {
                                using (NSAutoreleasePool pool = new NSAutoreleasePool()) {
                                        txtClock.StringValue = DateTime.Now.ToLongTimeString();        
                                }
                        };</pre>

Hope this helps someone.
<br><hr align="left" width="300">
View this message in context: <a href="http://mono.1490590.n4.nabble.com/Memory-Leak-tp3206211p3206281.html">Re: Memory Leak ?</a><br>
Sent from the <a href="http://mono.1490590.n4.nabble.com/Mono-OSX-f1546893.html">Mono - OSX mailing list archive</a> at Nabble.com.<br>