Ha, so this is fixed now, but it was a little subtle. Read on for details if you're curious how it happened.
Energy offset is calculated by keeping track of two values: energy regen and energy. You can then find the offset by simply dividing the energy by the energy regen. Since EPH was fixed at 20 at the time of the database design for this feature, I stored energy regen as a 16-bit integer (max value of 16-bit integer = 2^16 = 65,536, max energy regen in a month = 20 * 24 * 31 = 14,880). Obviously that assumption no longer held with the new EPH formula though, so this meant that as soon as your energy regen hit the 2^16 mark, this value would get stuck in place while your actual energy rose, causing the offset to rise as well, which in turn would grow your EPH and exacerbate the original problem, making it look like it was spiraling out of control.
Thanks for reporting this!