Okay, kind of an abstract title but it's very hard to describe. What happens is that at random unspecified moments, my modded game would decide to stop updating everything. Entities stop moving, breaking blocks doesn't yield drops, only the player inventory can be opened (as all others require interfacing with the server, which presumably froze in the process), and the world cannot be saved ("saving world" doesn't happen when I press esc, and the quitting to title screen will literally never end, locking me in a position where I have to kill the game with task manager). I myself can freely move around in the meantime, but as may be expected it's not exactly engaging to be unable to collect resources or poke my machines/pets. I've had a similar problem before, but that one actually goes away: if I wait for long enough, it will unfreeze, the server will throw out a "can't keep up!", and I'll usually die from some event that happened in the meantime. This time around, though, it never recovers, and my computer just overheats from the piled up tasks while I wait for it to respond. In fact, this sometimes happens before I even enter the world: it'll just continue loading terrain forever, but my CPU isn't under any load so it can't possibly be loading terrain. I just want to know why it happens and how I can stop it, because this pack takes a toll on my computer while starting up but is buttery smooth while playing, and repeated startups will just trash my already very potato laptop.
Minecraft, even in single-player mode, has a server module and a client module. What you saw was a case of the server-side hanging. This can be cause by many things, but in the end most of them come down to infinite loops in processing. I'm using the term "infinite loop" in a very broad way here.
In your particular case, based on your mention of general load on your machine, I'd say this is most likely due to hitting your memory allocation cap. I'm guessing the memory for MC is running out, causing the java garbage collector to run, which normally would be able to clear up some old memory and then continue running the game again (this is usually what's happening when you get a temporary version like you mentioned, with the "can't keep up" message). But if there is too much RAM that is still in active use, it will never recover. I'd think this would cause the program to terminate, but I could be wrong. I haven't run into this issue myself.
I seem to remember seeing this happen on another thread, though I can't remember for sure if it was triggered by something infinite or not (for some reason "infinite cows" seems to be on the tip of my mind? Was too long ago to remember).
If you can do something to increase the RAM given to MC, or to decrease the RAM it is using, I'd suggest trying to do so. If you're running a texture pack or shaders, I would personally try disabling those first. They don't have an effect on gameplay, so if disabling them fixes the issue, you know it's just RAM, and not some mod breaking (probably).