I thought that was the reason. The problem that if you want to completely distinguish the (un)boxing, you will have to create a dictionary per type, which makes it all so much more complex.
The ViewModelBase derives from the DataObjectBase which actually holds all the property values.
If you can show that it really boosts the performance, we will consider it!
btw. when declaring dependency properties for a DependencyObject (in WPF), all values are stored in object as well.