If the [SetUp] runs without exception the [TearDown] should to. So, this usually only happens when I 'Debug' my tests. When it does I can kill the orphaned drivers with this cmd, kill -processname chromedriver -ErrorAction SilentlyContinue or just hit 'Continue' in the debugger to let things play out naturally.
Please check removing sleep threads. And try running wether after any exception the driver closes the browser. Probably problem is with sleep threads where in between its control stuck or may control is not getting return to driver. Also add console.log('') between the each line statment will help in debugging or f11