If you leave the transaction open, AutoCAD will remain "on hold" and will crash if any other command tries to interact with it.
AutoCAD expects that, for each command, a top (and child) transaction will open, close and dispose. If not, it may behave unexpected and, most likely, crash.
As you have an external type of call (not sure how you handle multi-thread and concurrence), you may try StartOpenCloseTransaction and Commit transactions (Abort takes longer).