I am using same model as stated in https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html, DCGAN pytorch implementation. But instead of using BCE loss I am comparing already defined different loss functions. When I run the code with MSE loss it collapses the model.

MSE Loss simply tells the squared difference between two images in your case. Suppose there is some idea point, which has the minimum MSE Loss. As SGD would try to move towards this point when using MSE Loss, you would get samples resembling the ideal point.

Now the ideal point can be anything. It can be a random matrix.