My Malinois, who is 6 years old, didn't like to give up her toys because she was afraid the game will be over if I take the toy from here. So there are two methods I've been using to get a nice, reliable out.
First method was playing the game with TWO toys. If she came back with one but wouldn't release it once I had my hand on it, or wouldn't come close enough for me to grab it, I would show her the second toy. That usually got her to drop the first one and then I would chuck the second one for her to chase and pick up the first one to repeat the game.
Second method is simply not pulling against the toy to be released. She is very good about coming to me but wasn't always good about releasing the toy, especially a tug or ball. Holding the toy close to her muzzle, I would put it up against my leg and simply hold it STILL. Not tugging against it to yank it away from her, which makes a lot of dogs get really into this game of "who's stronger". Simply holding it close to me and STILL until she let go. Then reward by playing the game again, throwing a toy, etc.
With my husband, she's not always willing to bring a toy. She will come close for him to reach for it, then back up and "tease" him and try to get him to chase her. That's something he needs to work on. I've found that simply ignoring her until she comes up to where you can put a hand on the toy and ask for it to be released (or use the method above) works best.
Most dogs who try to run away with the toy just want you to engage them in play. If you ignore them, it's not working. They need to figure out other ways to get you playing with them. Like bringing the toy TO you so you can grab it. Ignoring your dog can be a pretty good correction for unwanted behaviors.