For what it's worth, I don't find graduate school to be all that much harder than undergrad. It's just more work. Sometimes a lot more work.
The classes are usually sort of research focused. It's not easy by any stretch of the imagination, but not really all that much harder. It's just you'll generally end up with a term project for each class (with slacking group members who ride on your coat tail) in addition to having to read and present two or three academic papers to the class. That's how the upper division graduate courses are anyway. At least here.
The entry level graduate courses are usually almost indistinguishable from the upper level undergrad courses.
Anyway, the thing is unless you're doing a Masters of Engineering, you'll have a thesis for the MS or a dissertation for the Ph.D. That's where the soul sucking long hours for little visible gain come in. I've invested a couple of years into my research and had one paper rejected and another potential paper dead in the water because I can't find any decent way to use my developed tool set to perform actual scientific study of anything. And when I do try it on real data, of course the program crashes and is impossible to debug because my tool is tracking the behavior of a few thousand threads across hundreds of conditional branches...
But that's just my bad luck with a Ph.D in computer science. I really feel inadequate compared to the other students in this research group. Some of them have 5 or more publications. And I just sit here, wasting time on this forum because I just don't know what to do. At least my research advisor has me starting on another project that might be more promising, but I don't have any enthusiasm for it, which was my worst nightmare.
I just have no energy to continue doing research at all. And it terrifies me.
Sorry, guess that didn't really help, did it?