I'd run a program to test if the USB flash drive isn't faulty or counterfeit, such as f3 or h2testw, to be completely sure it isn't the problem.
Explanation
In some cases faulty, low capacity drives and controller chips for higher capacity get smuggled out of factories by employees, for selling them as genuine products at a higher price, e.g. A 2GiB drive with a 32GiB drive controller is sold and presents itself as a 32GiB, when in fact only 2GiB are writable.
For the sake of simplicity, suppose we have 4 writable memory cells with the following addresses:
00 01 10 11
And the memory reports a higher capacity, 8 writable memory cells with the following addresses:
000 001 010 011 100 101 110 111
Notice how the first 4 memory cells and the last 4 memory cells overlap with the actual memory cells as follows: If we try to write the first reported cell, address 001, the memory will write the address 01. As the memory actually has 2 wires in order to support 2 bits for addresses, the driver has 3, and as a counterfeit memory is just shoehorning these two together, exactly one wire will be grounded at some point, the value of the most significative (first) bit. It won't matter what its value is, in this case it's 0, so there aren't any issues.
Now, if we try to write the fifth reported cell, address 101, it will actually write address 01, the two last digits, and the first digit now has a voltage that must be grounded at some point, heating the drive.
What these utilities do is write the entire writable space of the drive with patterns and verify their integrity to make sure the files aren't lost, corrupted or overwritten. If this happens it's very likely that only the real capacity of the drive will be read (with overwritten contents) and the rest will be lost.
TL;DR: if your memory is counterfeit there is a possibility that its contents are being overwritten at some point.