IMO,
finalize() method is used to do things you want to do just before the object is destroyed or garbage collected and for entity beans the container manages the lifecycle of the bean to the most extent and hencewe get all the security, transaciton managements etc and hence may be it must not be implemented by the bean provider for the container to have control of the resources. Also the way the container manages beans and pools is implementation specific. The jvm calls the finalize method on a object when it figures out that there are no more references to the object and in a remote scenario it cannot be figured out, and because EJBs are meant to be remote components you can never gaurantee that the objects reside in the same JVM and is totally based on the container implementation.
I might be totally worng in my thinking!!!