From the web
I had a similar problem, and learned the following:
g.DrawImage(postedFile, -1, -1, width + 1, height + 1) (this left a border on the right and bottom of my image)
g.DrawImage(postedFile, -1, -1, width + 2, height + 2)
(no border, but lost a pixel, and I don't want to die over a lousy pixel)
Dim outRect As New RectangleF(-0.5, -0.5, width + 1, height + 1)
Might be something to look at.
PS as well as this: http://stackoverflow.com/questions/1861305/c-sharp-resized-images-have-black-borders