Actually, Wordpress (tinyMCE) is doing this, not me. There are no paragraph tags anywhere, because the post editor takes them out and only puts a blank line between two paragraphs, but when Wordpress creates the XHTML from my post, it replaces some things with paragraph tags.
As you can see on the site, I have a heading, followed by some text in a table cell. All I do is press Enter after the heading and then restyle the text as paragraph, which makes the editor remove the heading tags, but Wordpress replaces the opening tag later, except it doesn't do the same with the closing tag.
Me thinks it's a bug.