Found that when we physically delete recipients who are subscribed, the subscription table doesn't remove the record. But when we query recipients which have subscription, those records won't be listed as there is no recipient with matching foreign key.
So I guess physical delete of recipients should have a preceding unregister activity to unregister the user from subscription service.