Esce dal ciclo While non appena ricontrolla la condizione (!ricercaAvviata)
quindi il tuo programma esegue :
ricercaAvviata = true;
tornaMenuPrincipale = true;
esce dall'if, salta l'else, esegue tutte le istruzioni presenti fino al '}' del ciclo while.
Dopodichè torna a controllare la condizione dello while ed esce (poichè ricercaAvviata=true).
spero di essere stato chiaro....