std is a namespace which is defined in several places, including <memory>. When more than one declaration file is available, VA picks one of them, maybe the first one.
I see how it can be strange from the point of view of the user, though.
When you refer to a symbol through a "chain" of symbols, it might be possible that you want to include more than one file. An example of this would be the following:
You have an object which is a pointer in a file and you refer to the class's method in an other file, something like the following:
file1.h:
extern cSomeClass* Obj;
file2.h:
class cSomeClass
{
void Method1();
};
So if you write the following in somesource.cpp you will want to include both file1.h and file2.h:
Obj->Method1();
This can be done via using "Add Include" first over "Obj", and then over "Method1".