A TargetFactory object creates a single instance of the Target class and retains a reference to that instance. The TargetFactory object then returns the reference to that Target object to the client. All subsequent CreateInstance requests will result in the TargetFactory object returning a reference to the same Target object that the TargetFactory object is referencing.