Factory pattern advice needed

The DIC would have the responsibility of holding the identity map for existing objects and creation of objects where needed. However, in a lot of cases, factories will likely be singletons anyway.

Yes, this creates a cyclic reference too. The factories have a reference to the DIC and the DIC has a reference to the factories. However, I believe the benefits outweigh the drawbacks here.