who sell at these prices ....? can no longer pay their electricity for mining

Network
Hash Rate: 27.05 MH/secBlock Found: about a minute ago
Difficulty: 1701572249Blockchain Height: 257768
Last Reward: 13.7911 XMR
Perhaps someone has access to their companies server farm and is 'borrowing' them for a little XMR mining?

Gee, ya think?
Something along those lines is the general consensus, I believe.
There are other possibilities as well. I have a few cpus and gpus at school that I own, but don't pay power for. Also, not everyone's electricity rates are equal. I'm pretty cheap here in Texas (0.08 $/kWh) compared to Europe (I think more like 0.30 $/kWh for the most part), but I think in parts of western Washington State electricity is as cheap as 0.01-0.02 $/kWh - in the wise words of The Black Sheep, "you can't beat that with a bat".
You are correct that there are certainly multiple possibilities to explain the cycle. But, your examples, like your "few cpus and gpus at school" are likely too rare and diminutive to account for the roughly 6 or 7 Mhash difference between the "base" hashrate of ~20 Mhash and the peak of ~27 Mh.
Maths:
If a rather decent CPU or GPU can hash ~300 h/sec, let's call it 333.33 h/s for simplicity. So, 3 processors can produce 1 khash. So, 30 proc's produce 10kh, 300 proc's produce 100kh, and it requires roughly 3000 processors to produce 1 Mhash.
With my (optimistic) example of 333.33 h/s per processor, roughly 20,000 CPU's and GPU's would be required to account for the 6 to 7 Mhash difference. That is not going to come from a few students' educational rigs.
(multi-core server CPU's can hash more, but 333 h/s is roughly equal to a mid-range 8-core Xeon)
Please correct me if I am wrong.