There are two culture infos associated to a thread: CurrentCulture and CurrentUICulture.
The Thread.CurrentUICulture manages the display texts of the thread. And the Thread.CurrentCulture manages the display logic, such as the display text of a currency.
The CurrentCulture and CurrentUICulture will not inherited from the parent thread, but the system info. So when culture should be managed in a multi-threading application, it should be given specific value manually.