So, you provided one (ok, two/three) examples of (supposedly) bad designs and that's OK, but the question is what does it prove except that there exist designs that are arguably flawed? How does that extends to Gnome Shell? Certainly there could be positive examples too, and we could end up enumerating both without any purpose.
In this particular case, two things are very interesting here, at least for me:
1. If you have a problem, then you fill a bug! In the end, if it is really a bug, bad design decision, or just a specific case not taken into account on purpose (but otherwise good design decision) is not known in advance and certainly not based on a single case.
2. To claim something is bad design simply based on a fact that _you_ have a problem, and repeat it every time you say something, is a bit too stretched and offensive (at least it sounds so to me)!
And I'm having open 12 Firefox windows and 107 tabs, which is now a lower value of the usual state, but I don't notice any slowdown. Could it be that the original poster really has 100 separate windows? But what is the purpose of such a large number of windows? BTW, I like gnome shell. There are problems and annoyances, but I believe that things will be better with each new release.