The whole purpose of a Reference Pattern is to quickly and easily use the source pattern to create a new pattern. However, this is not the behavior when the source is a Geometry Pattern.
A Geometry pattern uses surfaces of a geometry to then copy/move/solidify as the pattern. The problem is that the pattern does not have embedded the source feature, like a typical pattern. Geometry Pattern is a great feature on its own, but causes issues with reference patterning.
Lets say I create a boss with grooves, ribs, drafts, rounds, chamfers... etc. Patterning everything regulary causes issues, so I use the Geometry Pattern and it works great. All in all, I want 30 members. The Geometry Pattern creates 29 members (as it does not include the first one).
If I want to add hardware for those bosses and try to assembly the screw to the original boss, the reference pattern is not available. If I reference one of the other 29 bosses, the option is available - but it only creates a total of 29 screws - not 30!. This increases the risk of a BOM error if I don't catch it. This defeats the whole purpose of using Reference pattern and does not follow what people expect for their design intent.
I can't really fathom what is going on behind the curtain with the code, but since the Geometry pattern uses the surface references, I would suppose that the reference pattern and/or Geometry pattern consider those reference surfaces as the original member or the pattern. This way, it will give the reference pattern as an option when someone references those same surfaces and will create a total of 30 screws for the exampe I gave above.
I would really hope whoever reads this takes it seriously because I was using Geometry pattern more and more until I came upon this issue. Geometry pattern has so many advantages and I would hate to give up on it.