Область видимости - знакомое вам понятие?
А так - особого различия нет, просто первый вариант будет существовать только в области видимости, а второй будет существовать вечно, пока вы его не удалите
Ещё упрощу.
Если в первом случае trayMenu будет членом класса, в котором используется - всё круто. Оно будет существовать пока существует класс. Но если вы создадите его в какой нибудь функции, то оно умрёт после завершения функции.
PS почитайте про динамическое и статическое создание переменных.