Fixed memory leak caused by using boost::shared_ptr in circular references