I got an answer by myself. The problem is when I call
g.DrawImage(newImage, 0, 0, newImage.Width, newImage.Height);
It will draw an resized image into itself, that is the object:
new Bitmap(sourceImage, width, height));
so all the settings of the graphic object is not affected. The resize functioned actually at the above line of code. The correct solution should be:
g.DrawImage(sourceImage, 0, 0, newImage.Width, newImage.Height);
And everything works now.