Ho provato il codice originale proposto da Veronica80, e ho provato a correggerlo, per quanto possibile.

codice:
    Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
        ridimensiona("prova.jpg", "c:\tmp", "c:\tmp\tmp", 600, 300)
    End Sub

    Private Sub ridimensiona(ByVal nomeImg As String, ByVal nomePath As String, ByVal destPath As String, ByVal wFinaleImg As Integer, ByVal hFinaleImg As Integer)
        Dim nomeCompletoImg As String = nomePath & "/" & nomeImg
        Dim IntXSize As Integer
        Dim IntYSize As Integer
        Dim IntHalfWidth As Integer
        Dim IntHalfHeight As Integer
        Dim X As Integer
        Dim Y As Integer
        Dim compressione As Long = 1


        'Variabili per l'anteprima
        Dim ObjBMP As System.Drawing.Image
        Dim ObjGraphics As System.Drawing.Image

        'prendiamo alcune informazioni importanti dall'immagine orginale
        ObjBMP = New Bitmap(nomeCompletoImg)

        'Misure dell'immagine
        Dim IntImgW As Integer = ObjBMP.Width
        Dim IntImgH As Integer = ObjBMP.Height

        'Nuove misure dell'immagine servono per mantenere le proporzioni, per il mio caso mi basta ridimensionare in base all'altezza

        Dim IntNewImgW As Integer
        Dim IntNewImgH As Integer

        IntNewImgH = hFinaleImg
        IntNewImgW = CInt((hFinaleImg / IntImgH) * IntImgW)

        'ObjGraphics = ObjBMP.GetThumbnailImage(IntNewImgW, IntNewImgH, Nothing, IntPtr.Zero) 
        ObjGraphics = New System.Drawing.Bitmap(ObjBMP, IntNewImgW, IntNewImgH)




        Dim myImageCodecInfo As System.Drawing.Imaging.ImageCodecInfo
        Dim myEncoder As System.Drawing.Imaging.Encoder
        Dim myEncoderParameter As System.Drawing.Imaging.EncoderParameter
        Dim myEncoderParameters As System.Drawing.Imaging.EncoderParameters


        Dim i As Integer
        Dim encoders As System.Drawing.Imaging.ImageCodecInfo() = System.Drawing.Imaging.ImageCodecInfo.GetImageEncoders()

        For i = 0 To (encoders.Length - 1)
            If (encoders(i).MimeType = "image/jpeg") Then
                myImageCodecInfo = encoders(i)
            End If
        Next i

        myEncoder = System.Drawing.Imaging.Encoder.Quality

        myEncoderParameters = New System.Drawing.Imaging.EncoderParameters(1)

        myEncoderParameter = New System.Drawing.Imaging.EncoderParameter(myEncoder, compressione)

        myEncoderParameters.Param(0) = myEncoderParameter

        'ObjGraphics = ObjBMP.GetThumbnailImage(IntNewImgW, IntNewImgH, Nothing, IntPtr.Zero)


        'Qui viene fatto il crop, se non vi è necessario saltatelo
        Dim ObjSysDrawImg As New System.Drawing.Bitmap(wFinaleImg, hFinaleImg, PixelFormat.Format24bppRgb)

        Dim ObjGraphics2 As Graphics = Graphics.FromImage(ObjSysDrawImg)

        ObjGraphics2.CompositingQuality = Drawing2D.CompositingQuality.HighQuality
        ObjGraphics2.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
        ObjGraphics2.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic

        IntXSize = ObjGraphics.Width - 1
        IntYSize = ObjGraphics.Height - 1

        IntHalfWidth = CInt(IntXSize / 2)
        IntHalfHeight = CInt(IntYSize / 2)
        X = CInt(IntHalfWidth - (wFinaleImg / 2))
        Y = CInt(IntHalfHeight - (hFinaleImg / 2))
        ObjGraphics2.DrawImage(ObjGraphics, New Rectangle(0, 0, wFinaleImg, hFinaleImg), New Rectangle(X, Y, wFinaleImg, hFinaleImg), GraphicsUnit.Pixel)
        ObjGraphics.Dispose()
        '------------------------------------------------------



        If IO.Directory.Exists(destPath) = False Then
            IO.Directory.CreateDirectory(destPath)
        End If
        'ObjSysDrawImg.Save(destPath & "\" & nomeImg, myImageCodecInfo, myEncoderParameters)
        ObjSysDrawImg.Save(destPath & "\" & nomeImg)


        ObjBMP.Dispose()
        ObjGraphics2.Dispose()
        ObjSysDrawImg.Dispose()
    End Sub
a me sembra che vada.

ps. La nostra bella lingua non ha bisogno di termini orribili quali croppare.