You don't need
XmlConfigurator.Configure();
if you have
[assembly: XmlConfigurator(Watch = true)]
Having both will result in the two headers and two footers.
As to why you have three sets, perhaps you are calling XmlConfigurator.Configure()
twice.