Why is syncing the last 5000 blocks so much more CPU-intensive? I deleted my block chain and I'm currently syncing again. Just as I did last time, I noticed that from a certain point, my CPU usage raises to almost 100% and stays so for much longer than the usual peaks before this.

I think it's around the last 5000 blocks.

It also sometimes just stops, I don't know if that is for saving resources or something else, but sometimes it just stops (both CPU and network traffic go to nearly nothing) and almost no new blocks are added.

Is there a reason for this different behavior while syncing the last 5000 blocks?
Up until the last checkpoint, your client knows that all transactions are properly signed. After the last checkpoint, your client has to validate each input to each transaction by matching it against the corresponding output and executing the script, typically involving an ECDSA verify.