Leaving objects open in an HDF5 application can cause excessive memory usage and potentially corrupt an HDF5 file.
If objects in an HDF5 file (group, dataset, attribute, ...) are not closed, then the file does not get closed, which can cause problems. If secondary objects (dataspaces, property lists ...) are left open, excessive memory usage may occur.
There are some things you can do to help resolve the issue:
If you are certain that all object identifiers are closed, and you continue to see excessive memory usage, try using H5_GARBAGE_COLLECT and/or H5_SET_FREE_LIST_LIMITS, or compiling the library with free lists disabled, to see if free lists are involved. Free lists can be turned off by building HDF5 with --enable-using-memchecker=yes (using configure) or HDF5_ENABLE_USING_MEMCHECKER in CMake.