In the code below, you can see that I overrode OnEndPage event and tried to add a paragraph to the document. However, I get an \"System.StackOverflowException\"
It is forbidden to use document.Add() in a page event. The document object passed as a parameter is actually a PdfDocument object. You should use it for read-only purposes only. This is documented in my book iText in Action - Second Edition.
If you want to add content in the OnEndPage method, you need the writer, for instance writer.DirectContent.