+5  A: 

The Spring container doesn't manage prototype beans.

A snippet from the reference documentation:

Thus, although initialization lifecycle callback methods are called on all objects regardless of scope, in the case of prototypes, configured destruction lifecycle callbacks are not called.

If possible, try the request or session scope.

When the HTTP Session is eventually discarded, the bean that is scoped to that particular HTTP Session is also discarded.

Btw: The session and request scope only works if you're using a web-aware ApplicationContext such as XmlWebApplicationContext

Espen