Hi everyone, thanks for the replies.
It is worth to note that the problem is not incorrectly using the Request Deallocation, and generally is not in this function. Even the subVI is run through the reference (see attachment), and then stoped and the reference is being closed in the main program, the memory is not released for any, any multidimensional array (it may be a 1d array of strings or 2d array of numbers)! It should be said that LabVIEW reuses this memory, but the resources are not returned to the system. By the way in LabVIEW 2013 this problem remained. If this "feature" are known from the earliest versions LabVIEW, then why it is not in the official list of bugs? I understand, to leave this problem out, it is necessary either to avoide using any complex arrays (above 1st order) or work with multidimensional arrays in a separate executable.
main_reference.vi
memoryusage_reference.vi