Should a foreign language teacher use their native language while teaching or should they solely the foreign language?

The native language should be used minimally. There may be some instances where using the student's native language can help to explain a point efficiently, especially with beginner level students, or to bring students into order and discipline them. As students advance, the need to drop into the native language should diminish. The objective should always be to maximize the student's exposure to the new language in order to maximize their learning – even if that means something is harder for the teacher.

I have often seen teachers in China teaching English classes, and I listen to the class but cannot understand it because the teacher is only occasionally speaking English. Often, they are only speaking single words of English in a long monologue of Chinese.

When I talk to the students, I find that they are unable to use English. They "know" English vocabulary and the "know" English grammar, they can even read fluently, but they are unable to actually construct sentences or to move their tongue the right way to pronounce the words.

Language learning is a skill not a knowledge. Like any other skill, you get more proficient through practice. The more you use the language of study, the better you will be at it.

Consider this analogy: I want to learn to play basketball. I go to the library and read a book on the rules of basketball, I read books about famous basketball players, I read Michael Jordan's autobiography, I watch Basketball on TV every night, I go to the stadium and watch the live basketball teams, and I even memorize the names and scorecards of every basketball player in the NBA, however, I never actually play any basketball. I am desperately frustrated that after all my years of study, the LA Lakers still will not give me a contract to play on their team.