SWGs are used in many pools with copper heat exchangers in the gas heaters. There is an increased risk of corrosion, but it is not absolute -- that is, it is not seen in all systems or even in most systems. You are correct that one can use a zinc sacrificial anode connected to the bonding wire and that will help protect all metal connected to that wire. The zinc sacrificial anode should be buried in moist soil to be most effective. This approach is also used to protect aluminum headers in vanishing automatic covers since that is where most metal corrosion occurs in SWG pools.
As for oxalic acid, I was referring to your plan "to get it out with oxalic acid", referring to copper. I thought you meant removal of the copper ions in the pool, but oxalic acid is used, just as ascorbic acid or citric acid is used, as a reducing agent to remove existing metal stains in the pool, but this does NOT remove copper ions from the water itself. One then needs to use a metal sequestrant to hold the copper ions so that re-staining does not occur (oxalate could be used for this, but not when chlorine is present since chlorine oxidizes it). One cannot use oxalic acid, ascorbic acid or citric acid on an ongoing basis (i.e. kept in the water) with chlorine in the pool since these reducing agents will react with chlorine to consume it. That's why I was confused. So it sounds like every 60 days you used oxalic acid, which would force the chlorine level to zero and would remove any metal stains, but would then put those metal ions into the pool water. As described in the link to
Pool Stain Treat, it is a stain remover and contains oxalic acid as listed in the
MSDS, they also claim it contains a metal sequestrant to last for 60 days. They are likely referring to oxalate, the salt of oxalic acid that forms in pool water, but that will not last once you add chlorine to it.
The reason it is important to set this straight is that we don't want people going out and buying oxalic acid and expecting it to prevent re-staining. It won't. It will remove stains, but a metal sequestrant is then needed because chlorine will oxidize the oxalic acid. The Pool Stain Treat either has both in the same product (if I take their "continues to work for up to 60 days keeping metals water soluble and preventing future stains" claim at face value) or their claim is a lie in chlorinated pools. That's why they say it only holds onto the metal for 60 days and you need to re-treat. If it physically removed the metals (say by precipitation into the filter and then backwashed/cleaned), you wouldn't need to add more product unless more metals were added to the pool with fill water.
When you started buying oxalic acid in bulk and using it, you were using it as a stain remover, but it did not physically remove metals from the water, at least at low concentrations. At high concentrations of metals, they can be precipitated with oxalate such as calcium oxalate as shown in
this post. There are also quite a few posts on this forum (and others) about oxalic acid use and re-staining has been seen if the level of metals is high and not enough separately added metal sequestrant was used.