Currently every insert of row with an identity column creates a nested user transaction to update the
value in syscolumns, and then destroys it. It seems like this transaction could be cached in the user
context and then reused. I believe this is what is done for the nested read only transaction that is used
for compiling statements.
The change may improve performance and also lead to less objects being created/destroyed per insert.