execution_context does not unwind the stack - the user is responsible for this
http://www.boost.org/doc/libs/1_61_0/libs/context/doc/html/context/ecv2.html
'Sometimes it is necessary to unwind the stack of an unfinished context to destroy local stack variables so they can release allocated resources (RAII pattern). The user is responsible for this task.'
Hrmm, I remember stumbling across that part of the documentation, for wondering what it means exactly, since my copy of execution_context_v2.hpp contains

<<<<<< code <<<<
    ~execution_context() {
        if ( nullptr != fctx_) {
            detail::ontop_fcontext( detail::exchange( fctx_, nullptr), nullptr, detail::context_unwind);
        }
    }
<<<<<< code <<<<