One instance of this class will be pushed into cache and everyone can access it. It means that field validateResult is just like a static field. Suppose that A just call Validate() and validateResult is false. After that, B call this method again with a valid xml string, what B get now? False
Add a nest class:
Remove validateResult and add:
Everyone can get his own result.