If you want to have the same header on every page:
Use section.Headers.Primary.AddTable()
instead of section.Headers.Primary.AddParagraph()
.
By setting row.HeadingFormat = true;
for the first n rows of your table, you mark this rows as header rows. When the table grows and breaks over several pages, the header rows will be repeated on every page (but in the "normal" page body, not the header area). This is the typical usage of heading rows. If you don't add other rows to your header table, HeadingFormat = true will not have any effect.