Oh, no, by no means is he a good person lmao the fact that he was able to manipulate the flow of the marble game shows that, but at the very least, there's still an ounce of good in him. That's what I love about his character, he tries absolute best to not let that go. Once 001 confronted him at the end of the game about tricking him, he seemed like he genuinely regretted doing so at the cost of the old man's life. As if they could've been friends in different circumstances.
Btw that twist did suprisingly did nothing for me, just like.. "Oh he's back, okay... Huh, so he was behind everything, small world"
Far as forgiving Sang-Woo goes.. Well, I figured by then, he just didn't want anyone else to die. Early on, they establish the conditions of winning the money for the players, and it seems like the general impression was "ah, we don't have to kill everybody, we just need to make it to the last game". From the start, it was very apparent that he didn't wanna outright murder anyone to win. The team they manage to came up with together is for the most part, strangers, but Sang-woo was a childhood friend. If anything, I figured he'd would be the one Gi-Hun have the most trouble trying to kill. But of course, Sang-woo takes his own life.
Him offering the chance to give up the money and leave, is pure mercy despite everything. And given how the character was written so far, I didn't think he'd completely neglect Sae's family in doing so either. As it turns out, I was kiinda right? After winning the game, he barely uses the money from the game and actually had to rely on borrowed money to adopt the brother (I assume that's what happened). But as it happens, he doesn't have enough money to honor Sae's request of reuniting him with their mother. Given the opputunity and money that didn't come at the cost of people's lives, I wholeheartedly believe he'd try to fulfill her dying wish.
I'm just now realizing it's a lot of assumptions on hypotheticals.. I'm not exactly sure what to make of this lol but that's my take