Why didn't Ash release Charizard? Why doesn't Ash release Charizard even though it is his worst pokemon? You might ask for instances which I prove as follows:

Because of Charizard, Ash lost the Indigo League.
Charizard was not able to defeat Dragonite when a small Pokémon like Pikachu did in Indigo League.
Charizard was not able to defeat Tad's Poliwrath.
Because of Charizard again, Ash lost against Harrison in the final round.
In the banned episode The Mandarin Island Miss Match, because of Charizard releasing flame all around Ash, his reputation in front of Prima decreased.
Ash's Charizard wasn't even able to defeat Chikorita even though Chikorita was tired in The Chikorita Rescue.
Charizard, despite being so huge, was not even able to lift Ash.

I think these points are enough to conclude that Charizard is one of Ash's worst Pokémon, if not the words. I know Ash is also a bad trainer, but shouldn't Charizard perform well because it is very strong and Ash saved its life as a Charmander?
Why doesn't Ash release Charizard if it is so bad? Why did he leave him for training instead? Shouldn't he have completely eliminated it from his team?
I really don't get 2 things from what you have said:

Why do those points make you believe that Ash's Charizard is his worst Pokemon? Ash had lots of downhills and uphills with his Pokemon.  Charizard is one of them.  In fact, you forget that Charizard is the one beating Gary at the Johto League, his Blastoise which has a big advantage on Charizard.  The fact that he lost against Harrison, is simply due the fact that even in the anime Level system exists - there will be always stronger trainers and stronger Pokemon. Some of your points are not even well explained, some make sense, so it makes me hard to understand your conclusion. (especially the last point, we saw Charizard lifting Ash already couple of times along the series).



Ok, let's say that you right, did you ever saw Ash along the series releasing his Pokemon because they are weak? Let's not say that he should be.  The fact is, he doesn't. Hence, he releases his strong Pokemon than his weak Pokemon. To add to the this point, Ash not only won't release Charizard ever but rather than release, he left him in Charicific Valley to train, while 'till this point Ash usually released his Pokemon, he actually wanted Charizard only to train and get him back when needed later on.

At any rate, I will answer the question with kinda the obvious reason - Charizard considered in the Pokemon Brand as main mascot figure (yeah even than Blastoise and Vynasaur), even 'till these days he's still considered, this fact led the anime production even returning him in the BW series - one of the reason to give Ash Charizard is because of the fact that Charizard is Mascot and the fact that his character based originally on Red in the first game, which we know by 2nd games generation as he had Charizard. But even if it's not for this reason, fact is that as long Charizard will be recognise as Pokemon Brand mascot, we will see more of him in the anime, and there's no reason for the production to make as release him or what so ever, since we know Charizard and Ash connection, and Ash won't release him because he is weak (as you may claim).
Wikipedia - Charizard Reception