La verdad no se mucho de tratamiento de imagenes en .NET, pero navegando encontre este tutorial, parece ser que al principio todo es similar a tu codigo pero hay una funcion que el autor dice que es para mantener la proporcion de la imagen.
http://www.foxynet.net/Articulos/430.aspx
Espero que te sea de ayuda.
SALUDOS