Paying Frans $500k instead of $3m is a favor?
Your math isn't quite right
Frans got a $1.5M signing bonus on July 1st / this year's covid version of July 1st (not sure if those dates changed?) so he was only owed $1.5M for the duration of the season.
A buyout for a player of Nielsen's age necessitates the player receive 2/3 of the remaining salary, so he will receive $1M of the remaining $1.5M he was contractually signed up for.
At this juncture, Nielsen can either PTO/ sign an NHL minimum contract if any club wants him, or he can go back to Europe (read: closer to home.) All of these situations likely mean he will make more than $500k, and potentially if he is in Europe he could actually move the needle in a game, depending on which league he is playing in.
It might not be some sort of humanitarian act done by Yzerman, but it probably works out better for Frans Nielsen overall.