This is the expected behavior.As I step through, it obviously executes that line, then goes on with the program... LATER, it hits that _Ready proc... But at a very unexpected time, and not when anything to do with Text To Speech is happening.
I changed TTS engine in Settings->Language-->Speech->TTS parameters to Ron Hebrew and now the TTS example can speak Hebrew(only) in trial version.Have you set it to be the default speech engine (under Settings - Language)?
You cannot hold the main thread. However it might be simpler to use a timer and check isSpeaking method instead of the service event: http://www.basic4ppc.com/android/forum/threads/tts.7500/#post-207738Also, is there a way to send a string to TTS and only continue the application after the TextToSpeechFinish event ?