In general pricing in the aviation market (and many others) isn't based on the cost of providing the service/product, but on the price supported by the market. The margin can be negative (e.g. loss-leaders in supermarkets) or very high. I agree with you that the cost to BA is (basically) the same whether you fly YYZ-LHR-YYZ or LHR-YYZ-LHR, but that isn't really relevant.
I don't profess particular knowledge of the route in question, but the tickets are presumably priced in this way because BA believe people will buy them. If the price out of YYZ is 'too high', and demand correspondingly low, the price will be adjusted accordingly.