Creo que seria mas facil de lo que parece.
Si guardas los objetos en una matriz tan solo tendras que llamar a la función remove() del array para quitar un objeto de la matriz.
Dim objObjetos as clsMiClase[]
dim objMiObjeto1 as clsMiClase, objMiObjeto2 as clsMiClase
objmiobjeto1 = new clsmiclase()
objmiobjeto1.proviedad = "HOLA"
objmiobjeto2 = new clsmiclase()
objmiobjeto2.proviedad = "HOLA"
objObjetos.Add(objmiobjeto1)
objObjetos.Add(objmiobjeto2)
objobjetos.remove(1) '<-Va por índice.
Podria servir?