The delay in language detection is due to processing of the message. When you enable language detection, the application will process each and every message that is read out using text to speech. This processing is very CPU intensive.
Language detection should not be enabled unless you have more than one text to speech voice engine installed. For those with just a single engine, the application will use your default language engine regardless of this setting or detected language.
One thing to note about language detection is that longer messages result in better detection than shorter messages. Sometimes false positives, i.e. incorrect language was detected, do occur.