In VB.NET puoi risolvere in due modi:
primo: alla fine (ma dentro) il ciclo metti Application.DoEvents() che processa tutti gli eventi in code (effetto: il form non è bloccato)
secondo: crei un thread, che non è altro che una specie di "nuovo programma" (mi perdonino i forumisti più esperti) che si occupa di eseguire una tua routine.
codice:
Dim MyThread As New Thread(AddressOf MiaRoutine)
        MyThread.Start()
Con questo codice istanzi un nuovo thread e lo fai partire. Se vuoi aspettare che finisca basta che usi il metodo join() del tuo thread (ricordati di importare System.Threading)