As it is a reference type, just the pointer to the values in memory is copied not the values themselves.
You can specifiy the behaviour you want with a constructor:
From dot net perls:
//
// Copy the Dictionary to a second object.
//
Dictionary copy = new Dictionary(dictionary);