This is dependent on how many users are SSO'ing to your site. If there are many users, you would want to delete expired entries more frequently so your database table doesn't get too big. If there are few users you can do this less frequently.
I recommend deleting expired entries at least once a day. You can increase this frequency depending on how large the database table gets and whether this is an issue for you. I wouldn't expect you'd have to perform deletions any more frequently than hourly but daily is more likely.
The alternative to calling the DeleteExpired method is to use a database batch job to delete expired entries. However, in both cases, the frequency of performing these deletions is dependent on what makes the most sense for your deployment.