In der .NET BCL gibt es Zirkelverweise zwischen:
System.dllundSystem.Xml.dllSystem.dllundSystem.Configuration.dllSystem.Xml.dllundSystem.Configuration.dll
Hier ist ein Screenshot von .NET Reflector, der zeigt, was ich meine:

Wie Microsoft diese Assemblys erstellt hat, ist mir ein Rätsel. Ist ein spezieller Kompilierungsprozess erforderlich, um dies zu ermöglichen? Ich stelle mir vor, dass hier etwas Interessantes los ist.