Se chiami un delegate verrà chiamato comunque del tuo thread secondario; devi piuttosto implementare un sistema di sincronizzazione tra i thread (cerca nel forum, ne abbiamo già parlato).