Just to chime in, we see the same thing occasionally. When a customer complains, we have to recycle (restart) the Web Site. That usually fixes the problem.
This problem occurs in areas where we are modifying a cached table when we should be modifying a copy of the cached table. The follow bit of code exists in ~/Administration/EditCustomFields/SearchBasic.ascx.cs. Notice how we added the Copy() function. Without this, each time the page is loaded, the display name would get prepended with moduleList.
DataTable dtCustomEditModules = SplendidCache.CustomEditModules().Copy();foreach(DataRow row in dtCustomEditModules.Rows){ row["DISPLAY_NAME"] = L10n.Term(".moduleList." + row["DISPLAY_NAME"]);}