In the latest version of MVVM-light (V3 SP1) both \"Dispose()\" and \"Dispose(bool)\" methods in ViewModel class are marked
Do not use this method an
"Interesting" little story: having found programmers on my team had not been unsubscribing from events, I 'washed' IDisposable down our view model hierarchy only to change my mind about whether Dispose was the right place.
In some circumstances, it was hard to call Dispose because of MEF and some other funky ways we create our view models. This made me wonder if it was right. And then there's the fact that Dispose needs some care (and a snippet) to get right:
DG Update: Dispose, Finalization, and Resource Management
Later, I did some weekend work on a WP7 app (where I use MVVM Light) and noticed Laurent's change of heart, too.
I think its the right decision; IDisposable sends a message that the "customer" should try and wrap the class usage in a using() or otherwise wash their hands of the instance ASAP.
Originally, I agreed with the accepted answer in the thread below but then I started to think JaredPar was right.
Using IDisposable to unsubscribe events
Luke