Hi Brad,
When you say his obedience is "ok", can you explain exactly what you mean by that?
There are fundamentally three reasons why your dog is running off;
1) He is attempting to avoid pressure as he hasn't yet learnt how to manage and respond to it
2) He does not understand the recall component of the retrieve
3) He understands the exercise and is proactively choosing disobedience because there is inadequate reward and/or consequence for failing to follow a known (and fully conditioned) command. In this instance he may find running around the paddock more rewarding than whatever you have to offer.
If the dog is running off because of either 1) or 2) then you can do alot of damage by assuming it's because of 3). By my mind you are always better to go back to basics and ensure the foundation is solid before advancing. In this case that means focussing on building the foundation for your recall; on lead and gradually building distance with a long line and plenty of reward. Move to recalls off lead, again building distance and distraction. Once you have a solid recall, and I mean offlead, full distance, with distraction and the dog fully focussed and front and centre when you give the command, then you can pair it with the retrieve.
Personally I would suggest backing off on the complexity of your retrieves until you have completely conditioned the return. Put the dog on a long line if you have to to prevent him running off. Remember, every time your dog completes a behaviour (either under your command or of his own accord) he is being conditioned to perpetuate that behaviour. Preventing the unwanted behaviour occurring altogether is the first step to re-conditioning the dog to complete a preferred behaviour.
In giving this advice I'm not pretending to be anywhere near as experienced as many members of this board, and the viewpoint I've provided is based on my own experience in training dogs for a variety of endeavours. So please, take it or leave it at your leisure

Good luck!
(Edited for rubbish spelling)