Train and test loss curves show convergence but huge gap between them

I’m using CNN to do image regression tasks. My loss curves show convergence after ~18 epochs, but there is a huge gap between training and testing results. I have tried to tune weight decay and increase dropout, but the gap persists.
Is this due to overtraining, an unrepresentative dataset, or something else?
I really appreciate any suggestion you can provide.