Fixed the timer callback / delete race condition by synchronizing ASIOExecutor