.... why are you defending [the GIL]?
It has a cost, but it also has benefits -- there are an awful lot of threading-related bugs that just don't happen because of the GIL. If the cost isn't so very high (and maybe even if it is), then that is a good tradeoff.
.... many real projects need to put up a GUI and chew lots of XML
If the XML is a chokepoint, it might be worth using an extension module -- which can release the GIL.
Also note that Brett Cannon's thesis will work on sandboxing, so that you can run multiple interpreters. Since they'll have separate object spaces, the GIL contention should be greatly reduced.
... [and also] hogging megabytes of extra memory per process because Python doesn't like giving it back
I believe 2.5 includes a patch to change this. I don't know whether or not it is the default.