There's a half-truth from the UKTV person in your post!
The group of satellites from which both Sky and Freesat transmissions emanate isn't owned by BSkyB. They're owned by two companies (called SES, who operate the Astra satellites, and Eutelsat) and broadcasters pay to use them.
The owners of all these channels have decided that the revenue they'll get from advertising via satellite channels will outweigh the costs of paying for satellite access, so they've made them available free of charge:
http://en.wikipedia.org/wiki/List_of_free-to-air_channels_at_28%C2%B0E
(Obviously that doesn't apply to the BBC, which doesn't get advertising revenue. It also might not apply to other channels with external funding, such as some religious channels).
The channels listed in my link are free to anyone with a suitable dish and satellite receiver. (It doesn't have to be from Sky).
UKTV has to pay Freeview (which is a company jointly owned by the BBC, ITV, Channels 4, BskyB and the transmitter operator Arqiva) to use its transmitters but it has clearly decided that (with many, but not all, of its channels) the advertising revenue gained through doing so will outweigh the costs. So Yesterday, for example, is therefore available via Freeview.
UKTV will have also examined the costs of paying SES and Eutelsat directly for access to the satellite transmitters and has decided that there's insufficient advertising revenue to meet those costs. So they can't offer their channels free of charge but, instead, they've therefore offered those channels to BSkyB, to incorporate into their own packages.
So, yes, UKTV has sold the transmission rights to Sky and, yes, Sky is free to determine whether they charge for them or not but given that SKY DON'T ACTUALLY TRANSMIT ANY FREE CHANNELS (because the free channels would still be there even if Sky didn't exist) it would have been obvious to UKTV that their channels would be incorporated into a subscription package.
So you can't really blame Sky for charging for something that they themselves have had to pay for. Similarly you can't really blame UKTV for deciding that the costs of accessing the satellites directly (rather than through Sky) are simply prohibitive. UKTV exists to make money and, since much of that goes to subsidise our licence fees (because UKTV is half-owned by the BBC), it's probably a good thing that it does!