In general I agree that too much behaviour in the GUI layer can be a real problem, not just for maintainance as it gets bigger, but for
testing even when it is small.
My main worry about your code, though, is the circular reference. Each class needs to be aware of the other when it is compiled, and this can cause some strange behaviour. I suggest that at least one of the two refer to the other through an interface.
I'm also not sure about constructing the controller in the view. Some how that seems backward to me. One of the benefits of a MVC appeoach is that each of the three elements may actually be multiple instances. This seems especially common with the view element (two explorer windows on the same folder, two browser windows on the same URL, viewing the same data as a table and a graph, and so on.
When I do this sort of thing, I typically create the controller(s) before the view(s) and pass a reference to a created controller into each view when it is created. Typically, both controllers and views need to be passed a reference to a pre-created model. too.