DLM has different levels of FEC that it can request, which alters the amount of overhead used by the error-correction process, and therefore affects the remaining speed available to the end-user. It can roughly eat between 10 and 30% of your bandwidth.
DLM also has banding levels that can set absolute maximum speeds - but we don't often see these. The bands are probably further apart than you are seeing, and almost certainly don't change very often.
If DLM is causing this, then it is probably the former.