imagem Escala da caixa de imagem

Eu tenho um problema com o dimensionamento de imagem em c #.

Eu tenho uma caixa de imagem com determinado tamanho: por exemplo Largura = 800px altura = 600 px

Estou carregando imagens diferentes nessa caixa de imagem, pequenas (400x400) e grandes (800+ x 600+)

Minhas imagens estão sendo redimensionadas se não couberem na caixa. Mas eles sãosempre redimensionado para MAX largura e altura de PictureBox. Portanto, a proporção édestruído.

Alguém pode ajudar a identificar / corrigir o problema?

Classes:

Form1.cs

ImageHandling.cs (comentado)

ImageUtilities.cs

Exemplos:

Problema 1: minha versão

vs fonte original

Problema 2:
Minha versão

vs fonte original

Como eu quero:

Solução