Database locking status in EXPGEN.GX (GX Language)

EXPGEN.GX performs work by first exporting information from an unlocked database (EDB class); but does not unlock the said database upon exiting.

It locks the database at line 229 and never unlocks it until the end.

I assumed GXes would leave databases in the same state that they found them: if they perform work against an unlocked database, they should unlock the database upon exiting.

Is this behavior expected; and if so, is there a list that describe the required and predicted locking status of databases for each GX, both as input and output ?