I'm not really sure what's happening here, but I don't think these closed source games are good enough tests cases to diagnose the problem. Could you try to find a very simple Open Source mono program that will reproduce this bug?