I've constructed an algorithm similar to G-S, but for uneven amounts of men and women. The only change to the algorithm is the while statement:
While there is a single man and a single woman... (This is to make sure the case when men are more than women terminates).
I've proved the optimality of my algorithm, but I've been told that the case when men more than women, my algorithm may output an unstable matching. I can't seem to come up with such an example of a matching. I'd greatly appreciate if someone can provide a counterexample for my algorithm.