OK here is my answer, it wont be as exact but its my stab at it..
string temp = (string)anOBj;
This one uses a explict type conversion called a cast to convert the object into a string..
temp will point to a string object....
string temp = anObj.ToString();
here you are calling the ToString method, which is inherited....
it will force the object anOBj to be described as a sting.. that will be set to temp..... this doesnt create a refernce pointer to it.... as far as i knows... ofcourse i am looking for corrections here ....