You have to explicitly define the type (aka create your own class):
Public Class RecursiveDict
Inherits Dictionary(of String, RecursiveDict)
End Class
Or in c#
class RecursiveDict : Dictionary<string, RecursiveDict> { }
Once the type has been declared it can be used.