[LibGDX] Memory leaks are killing me......

Good evening,
first of all, I’m new here.
I’m having some serious issues with some memory leaks. Let me expalin in detail:
My game (it is an android game) is composed of 3 game screens, on is the main menu with the option tab, one is the pre-match menu, and the last is the in-game screen.
My game is working perfectly but crashes very often due to what I think are memory leaks.
When my game crash, I don’t get any error message from the game log, but in the general android log I see:

[quote]09-08 17:23:45.718: E/InputDispatcher(376): channel ~ Channel is unrecoverably broken and will be disposed!
[/quote]
When I switch from a game screen to another, I always call .remove() to my objects (like buttons, labels etc) and I’ve a list of disposable items that I just dispose using an iterator.
I switch from a game screen to another using: game.setScreen(new gameMenu(game, actionResolver));
Now I’ve also some questions:

  1. is there a way to completely destroy the old screen class when I switch game screen ? for example, to completely remove gameMenu() when I switch to gamePrematch(), since I don’t need gameMenu() anymore. I’m asking this because in that way would be simple to avoid memory leaks, because if I’m not wrong, when the class will be destroyed, the GC will collect every variable that existed in the class.
  2. in the ingame screen, I’ve some functions that declare some images in that way:
 Image player = new Image(new Texture(Gdx.files.internal("data/player.png")));

when I call player.remove() will the GC clean also the texture object ??
3) Maybe my problem is not releated to memory leaks and I’m missing something ?? what do you think about ??

Thank you very much