title: Python Selenium Timeout Exception doesn't release previous memory, how to delete this memory leak?
body: <p>When my request trigger Timeout Exception, memory usage of python process in task manager/system monitor always increase. I didn't realized it if I ignore the exception, because the process will be killed by system.
  But when I try to get some new url request after timeout exception, I realize that the memory usage was increased. If the request succeed, it doesn't leave any memory leaks. What is the difference of handler when it succeed load page and trigger Timeout Exception? Why timeout exception doesn't remove the previous memory? Is there any way to remove the memory leaks?</p>
  
  <pre><code>def run():
      try:
          driver = webdriver.PhantomJS()
          driver.set_page_load_timeout(20)
  
          driver.get(url)
  
          driver.quit()
          del driver
  
          run()
      except KeyboardInterrupt:
          raise 
      except:
          print " ::: TIMEOUT "
          driver.quit()
  
          del driver
          driver = None
          gc.collect()
  
          #here, python process (memory usage) in Task Manager / System Monitor always increase. if I call this function recursively, memory leak always increase when Timeout exception triggered.
  </code></pre>
  
  <p>==== <br/>
  Python 2.7<br/>
  Selenium 2.42.1<br/>
  PhantomJS 1.9.7<br/></p>