Hi,
1.A Yes, it would be instant as the user would be removed from the group drectly when the order of the renewal product would be confirmed.
1.B Supposing you don't need the normal feature of this plugin to add a user to a group after a purchase (because you can also do it with the subscription itself for example), then the modification is quite simple.
You could change the line:
$userGroups[] = $oneProduct->product_group_after_purchase;
to:
$key = array_search($oneProduct->product_group_after_purchase, $userGroups);
if($key !== false) unset($userGroups[$key]);
1.C I'm not sure it would make sense to add a "remove group after purchase" setting. I don't remember someone else case where this would have been necessary.
1.D Adding it to HikaSubscriptions might make more sense, indeed.
2. Normally, this doesn't matter. Even with the file system, it only matters depending on which payment plugin you're using. For example, with the PayPal normal payment plugin, it would be a problem, but not with the new PayPal Checkout plugin due to the workflow of the communications between the website and the gateway.
Also, logging out the user might not be necessary in your case. You could just let the user logged in and wait his session expires automatically after a while.
But if you need the user to be logged out after a user group change made by this plugin, then you do want to use the database session handler.
I don't have experience on memcache so I wouldn't be able to comment.