Come dice Marzullo si faccia una domanda e sia dia una risposta....ho trovato una soluzione un pò in giro per la rete (da solo non ci sarei mai arrivato).
codice:
Private Sub DelShapes()
        If canvas IsNot Nothing Then
            If canvas.Shapes IsNot Nothing Then
                Dim del_shapes As New Generic.List(Of Microsoft.VisualBasic.PowerPacks.Shape)
                For Each del_shapes As Microsoft.VisualBasic.PowerPacks.Shape In canvas.Shapes
                    del_shapes.Add(tshape)
                Next
                canvas.Shapes.Clear()
                canvas.Shapes.Dispose()
                For Each del_shapes As Microsoft.VisualBasic.PowerPacks.Shape In del_shapes
                    del_shapes.Dispose()
                Next
            End If
            canvas.Dispose()
        End If
End sub