Please use the search function.
It has been dicussed on numerous occasions - one of which is only a few days old.
Linux kernel caches filesystem to improve performance. What you are experiencing is the fact that is take longer to write to your USB than it takes to read from the source.
This build up a buffer which needs to be emptied before the stick can be removed.
How fast the buffer is written to disk depend on your system, configuration and the usb stick.
You can use one of the numerous suggestions - what works best is hard to say.