I don't see much benefit to using DynamicObjectCollections for these.  I think AssociativeArray will give you what you need, without the unnecessary change tracking code inside DynamicObjectCollection.