FIRST AND THE MOST IMPORTANT:
Never EVER unplug/eject the device on force if it says that it's in use EVEN THOUGH you are not using any data from it!Because one day you will damage the flash memory hardware and lose almost all IF not all the data and then you will cry and curse like nuts lol.
WAY 1:
Close/dispose all the processes within task manager being used and then attempt to eject the device.If it says that it's still in use,do NOT eject it on force because of the reason written above!
WAY 2:
Try multiple times (more than once).This sometimes work on hard disk drives if they stop spinning because they have not been used for some time and for that reason,the FIRST eject attempt will just "wake up" the hard disk drive to make it read/write/spin again and that will result in you getting the message that it's in use...which it is since it was "used during the wake up time".So try more than once.If it says that it's still in use,do NOT eject it on force because of the reason written above!
WAY 3:
Shut down the computer and once the system is COMPLETELY turned off then unplug the device.NOT before!
WAY 4:
If you HATE waiting for system to shut down and then start up again,first BE SURE that all processes that might be using the device are closed or terminated and then put the computer in the hibernate mode.Once the computer is fully in the hibernation,the system should turn off completely.One the system is COMPLETELY turned off,then unplug the device.NOT before!
WAY 5:
Use the program/software called PROCESS EXPLORER with which you can locate AND close the specified HANDLE which is using the device.Once the handle is closed,you should be able to remove the device by using that SAFELY REMOVE HARDWARE option without again getting the message which says that the device is in use.
WAY 6:
This way is kinda weird,but it works.It's based on "xcopy.exe" file which is used to copy the data from one location to another.It's a part of the Windows operating system.Anyway...if you use it in CMD to copy big portions of data from one location to another such as (note that I did not use any parameters/switches in the below example):
C:\WINDOWS\system32\xcopy.exe "C:\Data folder" "D:\Data folder"
...after the copying is complete and CMD is closed,you WILL be able to remove the device using that SAFELY REMOVE HARDWARE option without again getting the message which says that the device is in use.
NOTE 1: This will not work IF you open the hard disk drive in "My Computer" or "Computer".So if you did that,you WILL need to repeat the "xcopy.exe" process.
NOTE 2: During the "xcopy.exe" process,be SURE that the hard disk drive's (or whatever device type you use) window is NOT opened.
WAY 7:
Go in your USB device properties and on the POLICIES tab there are 2 options:
-Optimize for quick removal
-Optimize for performance
The second option "Optimize for performance" will probably be selected by default.Select the first option "Optimize for quick removal" and click OK.Now you can use that USB device normally as always and when you are finished with working on it,you can unplug it without the need to use SAFELY REMOVE HARDWARE option.
Cheers!