As it becomes more and more stable it's becoming more and more common that the only need for downtime is to reload the configuration file.
The reload command will be received from the network thread, and sent to the engine. The engine will cause the ConfigHolder to drop it's configuration and re-read the xml file.
As the ConfigHolder is accessed from multiple threads, this process will need to be mutexed to ensure that there are no attempts to access the class while this process is going on.
As far as other crashes go, they seem to be very sensitive to processing speed. If you run with a debugger attached, it won't crash, without the debugger, it won't last more than about 12 hours. I suspect that mutexing the config holder might help this situation.