For me it really depends on what they did to deserve a ban/suspension in the first place. If it’s obviously harassing me, members, or other moderators I may not give a second chance. If someone can show they’ve changed somehow I may unban/unsuspend their account. I am not harsh or dish out bans unless it’s a last resort. One idea I had in mind was somehow making a “jail” group where they can only see “jail” to discuss their suspension with staff, etc.
In the one of the Discord (yes I mean a Discord server) communities I moderate, if the user does something serious we ban and never give a second chance.