Running an application with a GUI on the CNs (compute nodes) through the scheduler won't necessarily break, but any UI that is popped on the CN is appearing in a non-interactive environment . . . it can't be seen or interacted with. This could result in an application hang if it's waiting for input from someone. So I would say it is "possible" but probably not "desirable."
CCS is designed to run non-interactive, command-line driven applications on the Compute Nodes. In many cases these are fronted by a GUI running on the client. In the case of Matlab, what we generally expect is that users will run MATLAB on a client machine, and then use the MATLAB distributed computing package to distribute the workload on the backend CNs.