I might be completely misunderstanding what your question is but what exactly are you trying to accomplish.
I see no reason to have multiple threads each handling one small portion of a hunting loop (targeting loop, attacking loop, looting loop etc should generally not be on their own threads but w/e)
Concurrent collections are incredibly useful for synchronizing data between multiple threads (EG: collection of monsters on screen which might be edited by a spawn packet while your bot code is iterating it for hunting)
Volatile objects as I understand them (haven't had a reason to use them much myself) force the compiler to get the most recently updated value every time which would make it very useful for variables accessed from multiple threads.
I think the real question is what are you doing for thread safety to start with? These are all very powerful tools but using them as an excuse to organize your threading poorly is just a crutch in my eyes.
PS: What is a 'volatile directory'? Volatile in C# is a keyword and does not relate to a directory in any way that I'm aware of.