Pokémon: How Come Charizard Refused To Obey Ash?

Anyone who has ever watched the original Pokemon series has pondered this question: Why did Charmander stop obeying Ash after it evolved into Charmeleon and then Charizard?

My own personal theory as to why Charmeleon and Charizard refused to obey Ash was because he pushed it too hard.

In the Season 1 episode The March of the Exeggutor Squad, Charmander evolved into Charmeleon.

Melvin the Magician’s Exeggcute hypnotized Ash into helping Melvin capture a large number of Exeggutor using his Pokemon; Bulbasaur, Squirtle and Charmaner. Melvin ended up capturing them all but at the cost of Ash’s Pokemon battling until they were exhausted.

From what I can tell none of them knew that Ash was not himself when ordering them to attack such a large number of Pokemon at once without rest.