Resetting the timer after shutdown was initiated would keep a reference to the object inside ASIO, which would keep the connection alive until the timer timed out
epee - is a small library of helpers, wrappers, tools and and so on, used to make my life easier.