Nobody is blocked by a lock.
The insert has finished long ago, but the application forgot to commit the transaction. That is an application error, and you should start investigating there.
Processing must be blocked somewhere in the client application, because it sure isn't blocked in the database.
I see some MultiXactOffsetControlLock in your ...
Not really an answre to the question, but an "are you sure you need to?":
This leads to big jumps in my primary key numbering
Unless you are in danger of running out of values then you probably shouldn't care. If you might push past 2,000,000,000 then use a larger integer type than 32-bit for the key value. As sqlite isn't a strongly typed ...