Windows really should tell you what program is using the drive, but it doesn't. You're going to have to do some detective work.
Start by doing what Windows recommends: Wait a bit, then try again. But keep busy while you wait. Make sure you don't have the drive open in Windows Explorer; in fact, you may want to close all of your Windows Explorer windows, just in case. Next, examine the system tray
to make sure that a program that used the drive (or was launched from it) isn't still running in the background.
If those tests don't bear fruit, check your running processes: Right-click a blank spot on the taskbar and select Start Task Manager. Click the Processes tab. Examine the list of running processes. If you find a likely culprit, select it, then click the End Process button and confirm your choice.
That didn't work, either? Well, you've waited long enough. Let's see if Windows will declare the drive safe to remove.
Nope. You have three options:
The obvious choice is to shut down Windows (and no, hibernating it won't do), remove the drive, then reboot. This is completely safe, and it will work. But it's time-consuming, and requires you to reload all of your programs and files.
The second choice is the foolhardy one: Take a deep breath, then remove the drive despite the warning. I confess: I've done this on numerous occasions, and it has never led to disaster. But I've heard people say that about driving while texting, so you probably shouldn't follow my example.
The third and best option is to use third-party software that can identify, and even kill, whatever process is still holding on to something on that drive. Here are two possibilities.
USB Safely Remove is the easiest of these two programs. When you install it,
it
replaces Windows' Safely Remove icon with its own. Click it, and if it
can't safely remove the device, it will bring up a dialog box giving you
the problem processes. A handy Stop Again button lets you retry the removal. The problem: USB Safely Remove costs $20.