We allow new and renewing members to pay by Direct Debit (GoCardless) or card (Stripe); the former always selects Auto-renew, the latter offers a choice.
The problem is that if a member cancels a recurring payment (usually a DD), although the contribution record is correctly updated, the contribution_recur_id (i.e. Auto-renew) field in the civicrm.membership table remains set to the (now cancelled) recurring contribution, rather than being set to NULL.
Given that this seems to happen for both DD and cards, I suspect the problem is in core, not the GoCardless & Stripe extensions. I looked in civicrm/CRM/Contribute/BAO/ContributionRecur.php, and found a "cancelRecurContribution" function, but this only creates an activity; should this also reset the Auto-renew field?
We are running Civi 5.75.0 under Backdrop 1.28.2, with the Artfulrobot extension for GoCardless (v 2.0.2) and Matt Wire's extension for Stripe (v 6.10.2)