Confuso com o gerenciamento de memória Java (pilhas e pilhas)

Isso pode parecer estúpido, mas ainda não estou claro sobre o Java Stack e o heap de memória. O que eu sei de estudar é o seguinte:

1) Todas as chamadas de método vão na pilha.

2) Toda a memória alocada localmente vai no heap de memória (não muito claro sobre este ponto)

3) Toda a memória alocada pelo novo operador (em um método ou em uma classe) vai no heap da memória.

Estou preocupado com os casos abaixo:

1) Se eu criar uma variável int em um método e retorná-lo, para onde ele vai (eu acredito que ele vai na pilha, mas precisa de esclarecimento).

2) Se eu criar um novo objeto em um método, ele vai na memória heap, mesmo após a execução dos métodos (eu entendo que isso acontece porque o código hash do objeto criado por java permanece igual quando eu atribuo esse objeto a algum variável de referência externa ou eu retorno este objeto).

3) O meu problema é o que acontece se eu não estou atribuindo o objeto mencionado no ponto 2 a qualquer referência ou não estou retornando isso. Ainda é criado na pilha? Logicamente, deveria ser, mas, por favor, me ilumine.

questionAnswers(2)

yourAnswerToTheQuestion