I gave up trying to solve it since I couldn't found a viable solution back then, and always put this bug aside. Today I decided to spend the day fixing this issue, and I did, with a lot of help from the internet.
The solution was to use the EventAggregator in the PRISM 5 library
1. Make a singleton which contain the EventAggregator
The token is used to unsubscribe from the event (not shown)