A SAS is a token you generate based a set of policies/keys. Azure Storage (since you're using blobs), doesn't track these tokens server side. What happens is that when the SAS token is presented, it includes the "hashed" signature value and either the permission or the policy that was used to sign the request. The Storage service then re-computes the hash using the same keys that were used to generate the original hash and compares it to the signature value presented.
Because the tokens themselves are not tracked by the service, you can theoretically generate an infinite number of them.