that is poor call center programming
I recently deploy Cisco Call Management system at my work. We have different "skill set" which basically a single person can belong to multiple queues. It seems that some of the non-English person might have end up in the English speaking queue or even worst, there might be a code that if customer are on hold for X time, transfer them to next available agent and DIDN'T check to make sure the queue match the customer's request (you can do that and WE DID that by accident and fix the issue)
Of course that is one plausible theory.
The other is that the call center is base in other country during "after hours" or "overflow" when main center is bombarded with calls and you just got unlucky and transfer to that center.
either way, it is likely it is poor Call center programming, poor management, or poor call routing