I think what happened is Toronto placed him on Release Waivers. This is actually weird. Normally when a player like Gage is waived it's for the purpose of removing him from the 40 man roster and if he isn't claimed he can go to the minors. Or, removing a player without options from the 26 man roster to demote them.
But Release Waivers also exists. Normally you only see this when a player has a contract the organization is trying to shed. Or when a player has kicked around the league a lot without getting an extended opportunity. I guess Gage is thirty years old so this makes sense.
I bet Gage did have an offer from a foreign club and he indicated that he would prefer to take it than go to AAA. Toronto obliged. But they can't just outright release him, they have to use Release Waivers. Gage would have had the right to reject the Astros claim and be a free agent instead, if he wanted. Houston convinced him to stick with them. Maybe they talked up his MLB path to playing time.
So, just some semantics on the announcement. From Toronto's perspective they did "release" him.