This pay-for-0800/0500 stuff is all a throwback to the early days of mobile phones, when 90%+ of the users were business users, and the call charges were incredibly high.
Instead of Mr Managing Director paying a silly sum per minute to make his calls on the move, he'd call the company switchboard via their 0800 number (which the company would be paying for per minute for incoming calls, but at a fairly low rate) and the switchboard would put him through to whoever he wanted to call. This led to nice automated systems being set up everywhere to let you do it without having to speak to anyone.
The mobile companies weren't all that happy about all these massive corporate contracts bringing in so little cash, and made 0800 et al chargeable.
It was a fairly sketchy practice back then, but all the free calls were to an extent strangling mobile provider revenue (at a time when they were still building the cell network itself), so maybe it was a necessary evil. It needs to stop now though - although maybe they'll treat corporate customers differently, who knows.