The cause of #3916 is unhandled rejections when removing breakpoints.
This is likely caused by new thread registrations resetting all breakpoints (not just the new thread), and if multiple overlap, they may try to remove the same breakpoints at the same time (and subsequent calls fail with "invalid params").