Memory leaks can be a real pain, depending on how much info your debugger gives about the leaks as the programme exits. You get a listing of the leaks - how much info do you get on each leak? How many leaks are in the list?
Can you run your program in such a minimal way that you can avoid calling SoWin::init and still exit the program. Then, how many leaks do you get?