When rebuilding an existing non-clustered index ONLINE, the operation adds one extra byte per index row. Rebuilding the index OFFLINE removes the extra byte.
This is not the behaviour that adds 14 bytes of row-versioning overhead with an ONLINE rebuild (the present behaviour occurs when row-versioning isolation levels are disabled in the database).
The max_record_size for a nonclustered index on a single column INT on a heap is reported as 13 or 14 bytes depending on whether the last build or rebuild was OFFLINE (13 bytes) or ONLINE (14 bytes). I was expecting 12 bytes for the row (8 byte RID + 4 byte INT).