Instancing - make real and join - duplicates itself I made object A where the instances will go, parented object B to it, and activated Instancing on Verts (under Properties > Object Properties).

The instances appear as desired. Then I did 'make instances real' (I get to that by searching). Then I chose all the created instances, and joined them (Ctrl + J). Call that object C.

When I do that, object B becomes the same as object C. It duplicates itself the same way. In fact, if I then go in and edit object C, object B changes in the same way. And vice versa.



For me, this is the best way to do this. It allows me to export the combined object as a glTF and also keep the template object for later reuse or modification.
It's because all objects use the same Object Data.
You need to make it unique before joining.

Select "realed instances" go to Properties Editor > Data Properties and click on a number on the first row. The "active" one (bright orange) become unique, now join them Ctrl+J.

(The number means how many objects in a scene use this data block.)