Why does the form just “stop” after clicking the button and showing “please wait” (API only)?

One possible reason is that a form field that is not visible is set to “Mandatory”. E.g. a free HTML field. But this can only happen if you create a form via the API.