This is because some process or applications (probably rogue programs) is accessing your USB drive. Windows will not allow it to remove because of the possible data corruption.
Moreover, EjectUSB could flush the file cache, close Explorer windows and remove registry entries and Recent Document shortcuts of the specified drive or folder.
Alternatively you can do this as follows: Open My computer and right click on the USB drive icon.
This setting disables write caching on the disk and in Windows. So you can disconnect this drive without using the Safely Remove Hardware icon.