Up until now, the MSXML wrapper has called CoInitialize/CoUnitialize. This is fine for simple uses - where MSXML is the only COM component being used for instance. It causes problems for any one else - using multi-thread apartments and so on.
The additional template parameter allows you to specify how, or indeed whether, the MSXML wrapper tries to initialize the COM environment. The new default behaviour is as before, but if you situation is more 'interesting', you'll probably want to take a look at it.