This is expected behaviour.
When factory dynamic loading is disabled, the resources contained (in the collection or go) are loaded with the parent collection.
When factory dynamic loading is enabled, you’re expected to call factory.load/unload as needed meaning you control when the resources are loaded and unloaded in memory. Load/unload are asynchronous calls.
If you call factory.create on a factory with dynamic loading enabled without having called load (not having the resources in memory) it will create the resources needed in the create call synchronously which is why you get the stutter.
If you want to go with dynamic loading, you should load like this in your init function:
self.loaded = false
collectionfactory.load("#loaded_factory", function(self, url, result) self.loaded = true end)
Then check the self.loaded flag before creating the factory. That will remove the stuttering since the factory now has been asynchronously loaded.
Note that all this applies to both collectionfactories and factories.
For more information, check the documentation here: