Changed freeing tactic a bit...

Maybe it's expected that we free the urb in the callback and not disconnect.
So I separated the freeing methods into two. Cross your fingers...