I think you're going about this the wrong way, wouldn't it make more sense to just not draw it in the first place if that's the case? i.e.:
Dim ShouldPaintImage2 as boolean=true
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
If ShouldPaintImage2=true Then
e.Graphics.DrawImage(My.Resources.image2, 20, 20)
e.Graphics.DrawImage(My.Resources.image1, 20, 20)
(Sorry if this isn't perfectly correct syntax, my VB.Net is very rusty)
Otherwise, to my knowledge you can't erase a specific object, if your real code is more complicated, clear the drawing, then redraw the whole thing, using image2 instead of image1.