Whenever a constructor isn't selected there still might be arguments that get created.
If these arguments are registered as singletons they are created, added to the instances list and might not even be needed.
Try to find an option to check if constructors can be used without creating arguments first. If the constructor is selected the arguments can be created.
Currently when trying to find a possible constructor, missing arguments are resolved if possible:
https://github.com/SimonG96/LightweightIocContainer/blob/9e957dac5abe8c34cd6aa732183463e047a99b2b/LightweightIocContainer/IocContainer.cs#L560
Whenever a constructor isn't selected there still might be arguments that get created. If these arguments are registered as singletons they are created, added to the instances list and might not even be needed.
Try to find an option to check if constructors can be used without creating arguments first. If the constructor is selected the arguments can be created.