Yes it can run for hours as their documentations says, but this famous error "backend took too long to shutdown" used to appear for tasks takes up to 2 hours sometimes and some other times it may reach 4 hours before stopping the backend.
https://developers.google.com/appengine/docs/java/backends/#Java_Properties_of_backends