According to the DeveloperGuide 10.1.6.3 - Event Handler Restrictions,
The multi-threaded application must use completion events. The application should cancel all currently activerequests that were made with the instance of the client specified and wait for a completion event for each of thoserequests. While waiting for a completion event, an application might receive other events that close the stream(e.g. a status message that closes the stream) before the completion event arrives. Whenever the isEventStreamClosed() function returns true (for either a completion event or some other streamclosing event), the application can delete the client instance.
Since I cannot see the completion event in my test, I am wondering if the above statement also apply to login stream?