Like Douglas said, you need to know the fixed size of your types (both T and V). Also, variable-length instances in the object grid referenced by any of those instances are out.
Still, implementing a dictionary backed by a file is quite simple and you can use the BinaryWriter
class to write the types to disk, after inheriting or encapsulating the Dictionary<TKey, TValue>
class.