How to check what process is your holding external device

Here's a short tutorial explaining how to use Wininternals (Sysinternals) ProcessExplorer to determine what processes are holding open file handles to external devices that cannot be ejected because they are in use, plus some general tips.