Everyone come to our senses.
The vast majority of us having this issue. It is software problem*.
Why?
1- we all have this issue together, all with iOS6. - This points to software.
2- people reportedly fix it definitively with 5.1.1, this is particularly relevant because virtually no post is out there saying
that reverting to 5.1.1 does NOT fix the problem. It just seems like people is not trying to revert to 5.1.1 to fix this, because it's unreasonable hassle, or they do and succeed. This also points to software.
3- ANY statement about it "not being possibly" correlated is just a bit naive. Any developer with some years of xp could confirm that. I'm not going into details but just think: how come the iPhone displays an alert and stops the battery charging when it's too hot to prevent its explosions, if "software couldn't experience temperature".
Simplest thruth is there are things called thermal sensors all over sophisticated chips, and their readings are used by software in calculations and procedures that only depends on the lines of code written by someone, so yes, software does experience temperature pretty much like your brain does. You have sensors and you get readings.
That's pretty much it.
Huge reasons to look at software, no reason to look at hardware.
To be COMPLETELY honest is could be a hardware problem in just one possibility.
That is if iOS was less fault tolerant about some slight hardware or build imperfection. For example some bus reply max latency could have been changed resulting in that.
However that would still mean that a software update could solve the problem.