I encountered a weird but very persistent crash when closing the application. It appears on only one of my machines even though both of them have basically the same setup in terms of compilers (VS 2013) and libraries which is very strange.
Anyway, after some debugging I found out that the reason for the crash is related to some locale issue during std::ofstream::open call when blueberry preferences are flushed to a file. I noticed that the ShutDown() method is called twice during application shut down - once from the org_blueberry_core_runtime_Activator::stop and then from the berry::PreferencesService destructor. Calling m_PreferencesStorages.clear() upon call to ShutDown() fixed the issue, but I'm not sure whether this is the correct approach in this case.