Bruce, Maybe I'm not getting what you're after but how about.....
You will be given a crayon and paper.
You don't really care who created them.
You take your "given" crayon and paper and model the associations
and behaviors you expect them to have when you have them.
That's the same approach I use when looking at a class instance
provided by a factory method. I don't know, and may not actually care,
the exact type but only that what I was given implements the published
contract for the base class.
> If ObjectA actually creates an instance of ObjectB then the message is the constructor of Class2. Right?
ObjectA may have participated in the creation of ObjectB or it may have come out of a pool, or been
created by the Easter Bunny

You may not need to know, and may even be kept from knowing how
the instance came into being, its there ready for you to use. Enjoy.
Jim