Bueno haber que te parece lo que planteo
Código:
Dim comprime As Integer 'bandera que indica si ya se comprimio el archivo 0:no , 1:si
comprime = 0 'no por defecto
While comprime = 0 'mientras no se haya comprimido el archivo
Try
'aqui deberia ir tu codigo para comprimir
comprime = 1 'se ha comprimido
Catch ex As Exception
System.Threading.Thread.Sleep(5000) 'espera un poco
comprime = 0 'no se ha comprimido el archivo (esta linea sobra ya que tiene ese valor por defecto)
End Try
End While