ok I see now Dispose() sets JabberClient to null, is that really needed? The GC will cope with managed objects by itself.