You should inherit the enable_shared_from_this<your session class>, and in async ops in your session class you should use shared_from_this() when start async ops.
For monitoring your session you should use map/any_container with weak_ptrs, not shared_ptrs.