In your case, MQRC_Q_SPACE_NOT_AVAILABLE really reflects the total amount of space in the disk partition, but this is not the case in all cases. For example, with older file systems, the largest file size can be 2 GB, although this section can contain up to 1 TB. Therefore, if a single queue file reaches 2 GB, QMgr may still have enough space in the partition available to request a DLQ message. Although newer file systems have limited the 2 GB file limit, WebSphere MQ still supports many file systems that have a 2 GB file limit. On platforms, this restriction is absent (or in any case, when the entire section is exhausted, regardless of the platform), the behavior is not harmful. On platforms where the request can be successful, the behavior you observe is appropriate and even desirable.
Thus, there is a difference between the exhaustive space for a single queue file and the exhaustion of the entire file space in a section. WebSphere MQ can query the file system aspects to determine in detail which case caused the error, but that would add complexity to the code. A simple and quick attempt to execute a request when the operating system returns an error outside the space. If the partition has free space, the query is executed. If not, then the application is no worse than it was before the attempted repetition.
T.Rob source share