It might indeed be the gmail automatic spam filter, but since there are no logs available this is hard to verify.
From the AWS Documentation I see that you can enable authentication for deletion. This should prevent it being deleted by gmail.
Deletes a subscription. If the subscription requires authentication
for deletion, only the owner of the subscription or the topic's owner
can unsubscribe, and an AWS signature is required. If the Unsubscribe
call does not require authentication and the requester is not the
subscription owner, a final cancellation message is delivered to the
endpoint, so that the endpoint owner can easily resubscribe to the
topic if the Unsubscribe request was unintended.
To change this permission, Go to your SNS topic overview and select the topic you want. Click on Edit topic policy. If you click on Advanced view, make sure something like this is added:
"Action": [
"SNS:Unsubscribe"
],
"Resource": "arn:aws:sns:<AWS_REGION>:<AWS_ACCOUNT_ID>:<SNS_TOPIC>",
"Condition": {
"StringEquals": {
"AWS:SourceOwner": "<AWS_ACCOUNT_ID>"
}
}
That will make sure only the account owner will be able to unsbuscrive, and not everyone. Change the vars between <> to your needs.