Before you start a conversation with Koreans, you may wonder what language you should use.
Choosing a language does not only depend on your ability to speak Korean or not. No matter how fluently you speak Korean, you may encounter moments where you will be invited to speak English.
Being bilingual is a state of mind. There is a difference between claiming to be bilingual and thinking we are bilingual. While Koreans will swear that they are not bilingual and don't speak English, the fact that they try to use it very often when them meet English speaking people shows that they clearly think that they are bilingual. In sum, if you try to speak a language -say Korean- no matter how rusty you may claim to speak it, you are claiming to be bilingual.
Studies have been made about when two bilingual people meet. They have concluded that they will speak the language they are both comfortable with when cooperating, and speak a language they are less comfortable with when they are trying to take a distance. "Being comfortable with" a language is also a state of mind, as some people may speak barely comprehensible English or Korean but may still feel comfortable with it.
In other words, if a foreigner and a Korean are in a situation where they have to cooperate, they will use English if both speak good English, Korean if both speak good Korean, a mixture of both if they're comfortable with both languages, or a "bastardized" language mixing ungrammatical English and Korea when both are not really bilingual. That "bastardized" language is called a "pidgin".
However, if they are in a situation where they should take a distance, like when meeting for the first time, when both people are total strangers, or at work, they may use languages one of the speakers is not comfortable with. That is, when bilingual Koreans talk to strangers ("bilingual" is a state of mind) they will use English rather than Korean, in an attempt to take a distance.
Also, when bilingual people meet another bilingual person and are in crowded places, they like other people to "notice that they can speak a foreign language", as if people were really paying attention. Therefore some Koreans may insist to speak English when in a coffee house, in a restaurant or any crowded place because they like other people to notice that they can speak English. The conflict arises when the foreigner also wants people to notice that he speaks a foreign language - Korean. Therefore while the foreigner will be making an attempt to speak Korean, the Korean will try to keep the conversation in English.
However at work, colleagues don't want people who may be paying more attention to notice that their foreign language skills are in fact not that great. While the foreign employee will try to use English as much as possible to avoid people noticing his grammatical mistakes and other weaknesses in Korean, Korean employees don't want other employees to notice their not so perfect English and will try to speak Korean, even when talking to a foreigner. This means that your boss or colleague may speak what you consider good English, but will insist on using Korean at the workplace. Your colleagues may even be offended if you speak to them in English publicly at the workplace.