You can refer to wonderful explanation on below link:
What is the difference between Session.Abandon() and Session.Clear()
It states that:
- Removes all keys and values from the session-state collection.
- removes all the objects stored in a Session. If you do not call the Abandon method explicitly, the server removes these objects and destroys the session when the session times out.
It also raises events like Session_End.
Session.Clear can be compared to removing all books from the shelf, while Session.Abandon is more like throwing away the whole shelf.
Both the answers above are correct,its totally up to you how you want your session to be handled.