I would recomend not using TStringList at all, especially if you are doing string lookups and returns objects. (rather than using the values to return string=value information).

I my own projects I use a HashList, the string (or key) is converted to an integer using a hash algorithm then I use the integer to lookup the value in the hash list. It's extremely quick, certainly allot faster then searchng in TStringlist. The code isn't publicly avaialable at the moment, but if you google for "delphi hash list" or "MwHashlist Delphi" you will get some results on http://www.torry.net.