The `Locale` class in ICU4C is rather nontrivial in its copy assignment and copy constructor (several mallocs and frees). It seems like a very good candidate for upgrading to C++11 with std::move operators (move constructor and move assignment).
Instances of this class are copied around rather freely within the number formatting code, leading to a lot of unnecessary work.
See the proposed patch in and my comment 22 there.