My apologies, forgot to post the final finding until now.
it turned out that, FF/IE/OP interpet the following differently.
FF doesn't seem to calculate the height correctly, it should be about 420px and it figured it out as 120px, which is probably the size of the number of <p> variables. Not sure how it is coming up with that number. This has been checked up to version FF 220.127.116.11. Same issue with Opera 9.
IE does calculate it correctly.
So the question is, is this a IE feature or a Gecko engine bug? I looked at the bugtracker info for Gecko and there are a bunch of "height" bugs, not sure if any of them covers this though.