Sounds like Android locked up into a loop that drew high CPU usage... Sounds like the same issues I had with my Hero.... I really REALLY hope this isn't a common issue with the Evo... I think HTC needs to have a seriously long debug session to their Sense UI to make the code more efficient & eliminate weird lockup up issues.
My guess is that the Sense UI software gets all worked up when the CPU is occupied with voice data connections which have top priority & sends the interface into a weird loop if certain actual android code is executed & things dont happen as fast as HTC's software demands em. This is a software flaw on HTC's part with Sense UI because I've never heard of this similar issue with stock android & stock android phones I've used & owned. Seeing as how all 3 Hero's with 2.1 Sense ui I've owned had the SAME EXACT ISSUE in addition to your evo with 2.1 sense, the only common denominator is Sense UI & I've heard this same issue from others with the Hero. I don't know jack about android programming, but I know LOTS about CPU assembly language & it seams that the Sense UI software is sending an interrupt that is being ignored when the CPU is taking too long getting back to answering Sense UI's request & then Sense ui gets pissed & goes on to a different subroutine while the CPU tries to answer the interrupt while Sense ui has already moved on. This would send the CPU into high mode to answer the interrupt, but sense is moved on & is stuck in a loop because the CPU finally caught up & wants to answer sense ui's interrupt now but since sense moved on it doesnt respond to the interrupt answer. My guess is that since the evo is faster in processing, Sense doesnt have the issue of being ignored & the issue isn't that big of an issue 99% of the time, but it still should be fixed because OBVIOUSLY it can still be an issue in certain circumstances evidenced by your situation.