The 12,000 avios are not really free, since you are paying £50 for them which could otherwise be taken as cash. It is really "£50 free and exchange £50 for 12,000 avios".
I never had £50, all I had was some TCB currency in my TCB account, and I got that TCB currency for no outlay. I could then decide to convert that TCB currency into £50 into my bank account, or convert it into 12,000 avios.
I have 12,000 avios in one hand, £50 in the other. I'll give you the contents of either hand without asking you to pay anything. Tell me, how is one free and the other not ? By your logic, if you take the £50, you have paid 12,000 avios for it.
Slightly moot, in that at the moment the best TCB strategy I can recommend is one that costs £10 to get 11,800 avios. Mind you, at less than 0.1p per avios, it's not bad.