title: rxswift block life cycle
body: <p>I have a viewmode class like this :</p>
  
  <pre><code>class ViewMode {
   let validateCountResult: Driver&lt;Bool&gt;
   init(username: Driver&lt;String&gt;) {
       validateCountResult = username
              .flatMapLatest { username in
                  return // validate username
      }
  }
  </code></pre>
  
  <p>And I have a subclass  of <code>UIViewController</code> as follow :</p>
  
  <pre><code>class ViewController : UIViewController{
    override func viewDidLoad() {
          super.viewDidLoad()
          let viewmode = 
          ViewMode(textfiled.rx.texttext.orEmpty.asDriver())
          viewmode.validateCountResult.drive(onNext:{
            // TODO Something
             FuncA()
           })
     }
  }
  </code></pre>
  
  <p>When viewDidload finishes, I believe the viewmode should deinits as well. But I see the binding still exists and FuncA still get called!</p>
  
  <p>Why is it so?</p>