There are a number of resources that are used by the DOF, such as threadpools, connections, servers, authenticators, and several other objects. If you do not call the destroy method, these will continue to exist in the background as long as your application runs, using memory and keeping connections open. This is considered a “leak”, since the resources cannot be reused for your application.
Of course, when your application terminates, then the resources will be reclaimed by the operating system, but any other nodes you were connected to may take some time to discover the connection has gone away. It’s not very “nice” to those other nodes, and can cause excess work in the network to “clean up.”
It is certainly best practice to get in the habit of calling the destroy method when you are done with the DOF. However, it won’t break anything (other than maybe your own app) if you forget.