I hold both of those cards, on the back of a fair bit on non-BA flying. In a typical year I will earn 1 000 to 1 500 TP on BA metal, with the largest part of the balance coming from AA.
But as a result, my CCR is pretty much useless. Since I'm invariably in F either arriving into or connecting out of LHR, I either have access to the CCR anyway (or I don't because YVR flights leave from T3

).
The GGL perks that matter (Jokers) have real value, but probably don't wind up costing BA much in the line of cash. The perks I use most (the GUFs) are the real cost item, but those come with my plain old Gold card at the relevant thresholds.
If you're earning GGL/CCR on the back of a lot of non-BA flying, it probably means that you're not costing BA much in terms of what those perks cost, while bringing in a revenue stream from the Avios sold to the other OW carriers.
And, of course, don't forget all those ExPlats, DMs and other high end flyers from other carriers who are doing it on the back of BA flying. These things have a way of balancing out.