Più che altro, la domanda che mi sovviene è... perché usare i thread in questo contesto?

I thread servono per eseguire operazioni in parallelo: se tu metti in pausa il thread chiamante fino a quando la logica del thread secondario avviato non ha completato il proprio lavoro, allora tanto vale chiamare direttamente dal thread primario la routine di operazioni delegata al thread secondario, e fare a meno di quest'ultimo.

Se non è così, descrivi meglio lo scenario, in quanto nella programmazione multithreading meglio non avere dubbi...

Ciao!