Il break termina il ciclo che lo contiene. Se questo ciclo è dentro un altro ciclo (come nel tuo caso), quest'ultimo non viene interrotto!
Nel tuo esempio, quando fai break termini il for e l'esecuzione riprende da dopo il for. E cosa c'è dopo il for? Sei ancora nel corpo del while e quindi continui con quello... Il while riprende (è un ciclo infinito...) e cosa trova? Il for, che viene rieseguito. Il contatore viene quindi incrementato, viene fatto il break, il while riprende ecc ecc