I think I learned an important lession that should be shared with other SignalR newbies.
I tought that when SignalR creates connection between the browser and the server, it also creates Hub instance and hold it for the whole session, I was wrong. It looks like SignalR holds the connection under the hood and every time the client calls the Hub, new Hub instance created and disposed at the end of the request. This is why I couldn't unsubscribe from the notification center.
All I had to do is unsubscribe from notification center via the same instance that was hooked and running in the background.
Thanks Jon for the enlightment!