Basically, when the new PK was retrieved after an insert, the internal DataTable would raise its ListChanged event, and the business object would try to raise its property descriptor changed event (for 2-way binding) and the binding would try to refresh its value. But, the binding resides on the main thread, and the main thread is blocked while the update threads push the data to SQL Server, so the whole thing froze.
Give that new install a shot