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)
Else
e.Graphics.DrawImage(My.Resources.image1, 20, 20)
End If
End Sub
(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.