Strategies to reduce the number of instanciated objects
===

Early in our project we created a Locale class which contains a string such as "en-US" from which we can derive the country and language and some other infos.

The issue we are facing right now is that we are creating way too many  Locale objects. Those objects are used pretty much everywhere as parameter or Dictionary/HashSet key. After doing some profiling, we realized that we spend way too much time creating those Locale objects.

Knowing that we have a finite set of locales and that those objects are immutable, what pattern would you propose to keep to the minimum the number of object created?

Thanks!

 