You've got a number of issues here. First is that 5ms is a really bad test interval. This will fill up the console window in no time. Probably lock up Acrobat can cause it to crash. Use something you can watch like 500ms.
Next, all of the variables are in a local scope. These need to be document level or global. For example: this.greeting = ...
Next, the MouseUp hide errors with an unreported catch. How do you know this is even working.
And Finally, this won't work anyway. The Acrobat JS event structure is somewhat primitive. You know they designed this in the very early days of JS. The system is more or less single threaded. When the user is holding the mouse down the timer events are blocked. This is also true for timer events used in other contexts, such as a popup dialog. You may be able to fool it by creating an event cascade, i.e., use the mouse event to cause another event that triggers the timer, such as changing a value on hidden field. But I don't know if this will work.
You can test this block by add two more buttons to the PDF. In the first button, add code for turning the interval off. In your original button remove the code for turning the interval off, so now you have one button for turning it on and one for turning it off. And one button that does absolutely nothing.
Open the console window so you can watch the messages (make the interval watchable). Click to start the interval, then click and hold the button that does nothing. It will block the messages being printed to the console. Lift up the mouse and the messages will continue.