I've seen quite a few examples of MVVM. I can see that the View should reference the ViewModel. I've seen recently an example of a ViewModel referencing a View, which seems wrong to me, as it would result in tighter coupling. Given that ViewModel is often described as an intermediary between the View and the Model, is there more to the ViewModel than a facade to domain objects? I hope I used the term "facade" correctly here.
Technically, the view-model should reference the model, but never the view. The view should bind to the view-model, and the view-model should expose convenient properties for binding using data from the model.
Obviously, the complexity of the view-model depends on the application and the data in the model. But to think of it as a "facade" is not terribly harmful (though not exactly correct in developer lingo).
Your intuition is right; the ViewModel should not reference the View.
Note that this is a "should". Purists say that the ViewModel should not even reference WPF stuff such as the Visibility enumeration, but I disagree. Among other things, a ViewModel is supposed to help you separate concerns and improve the readability of your code. If you have to jump through hoops to avoid referencing something that belongs to the View, that's a sign that you might be overdoing it.