If a user is the authenticator when adding a row to a table, on chain, they supply the ram required to instantiate the new row.
In the case of certain tokens, mainly airdropped tokens, the contract does not delete the user's row when the users balance of that token is 0.
Furthermore, many of these airdrop tokens don't have a contract action to delete the users' row.
Is this ram consumed forever? Is there a way to explicitly force the ram to be de-allocated or are we at the mercy of the contract account owner?