You can adjust your heap size for subscription database handling by changing the maximum heap size in WebSphere® Application Server.
The purging thread is intended to periodically remove subscription entries that have expired in the database. The proper handling is for an application to subscribe for an Ro Reauthorization Notification immediately before it starts using a session ID and then unsubscribing for that session ID once the authorization session has finished. If the application does not unsubscribe and the subscriptionDuration interval has passed, then that subscription entry is a candidate for deletion by the purging thread.
The purging thread does not run by default. If a subscriptionPurgingInterval is configured, the purging thread will run repeatedly with a delay of the purgingInterval in between runs. The purging thread retrieves all expired subscriptions in the subscription table and deletes them each pass. If the table is very large, and the number of expired subscriptions is expected to be very large, then the configured heap size must also be very large to handle these large reads.
If you wish to continue to use the purging thread for large queries, you should make the subscriptionPurgingInterval as small as possible (e.g., 30 seconds). This has the affect of processing the expired entries more frequently; consequently, the number of entries to be purged at a time is less. If entries expire at a faster rate than they can be removed, then the number of expired entries will grow indefinitely. The result will be that the heap space will be eventually exhausted and an out of memory condition will occur.