Oops, try { if (m_dicXmlSerCache.ContainsKey(TObj)) { // m_Log.DebugFormat(" Serializer Cache Hit: Type {0}", TObj) m_dicCacheHits[TObj]++; // for statistic purposes return m_dicXmlSerCache[TObj]; } else { XmlSerializer tSer = new XmlSerializer(TObj); m_dicXmlSerCache.Add(TObj, tSer); // just for keeping track of some statistics m_dicCacheHits.Add(TObj, 1); tSer.UnknownAttribute += new XmlAttributeEventHandler(XML_UnknownAttribute); tSer.UnknownElement += new XmlElementEventHandler(XML_UnknownElement); tSer.UnknownNode += new XmlNodeEventHandler(XML_UnknownNode); tSer.UnreferencedObject += new UnreferencedObjectEventHandler(XML_UnreferencedObject); return tSer; } } catch (Exception e) { m_Log.ErrorFormat("Error in SerializerCache: {0}", e.Message); } I didn't post the whole block. I think the handler are not the problem, this also happened before i wrote this cache object, which attached no handler at all. I also had the problem, that the try-catch didn't worked, only the VS handler shows up. But I have to access to the exception object there, so I can't check the inner exceptions. Something weird seems to happen here... Bye, Florian