La cosa che non si deve fare è mettere un loop in una funzione del form, ti blocca tutta la finestra. Di solito non ce n'è bisogno se proprio proprio servisse (ma credimi non serve) lo si può fare bucato con Application.DoEvents().
I thread sono pezzi di codice che girano in parallelo al programma principale, diciamo che è un argomento complesso, se ti interessa ne parliamo, ma è una cosa che serve in situazioni molto particolari.