@MehdiK which classes do you mean will be instantiated on each call for **custom** factories?
As I can guest from dry view of code only the `Lazy<>` objects will be instantiated on first use of the `FactoryManager`.

Or do you mean when someone is going to pass a `Func<>` which is not being backed by `Lazy<>`?
Then with your proposal we would call this function only once.