Hi Rajesh,
Your understanding is correct, but point 1 deserves some clarifications.
In general, when all subscriptions for an item are terminated through unsubscriptions, the subscription is no longer maintained by the Server, which implies three consequences:
  • unsubscribe() is invoked to the Data Adapter;
  • the item snapshot is discarded;
  • upon the next subscription, subscribe() will be invoked to the Data Adapter.

This is done immediately, with no timeout.
However, if a session is terminated without explicit unsubscriptions of the item, a timeout is applied to each of these items, which can be configured through the <subscription_timeout_millis> element.
Note that, in some cases, a timeout is applied to an unresponsive session before stating that it is terminated (see <session_timeout_millis> and <session_recovery_millis>). In this case, the longer of the two timeouts is applied to the items.