Not sure whether I am missing something. When making an actor remote, the main method does not terminate.
Here is a snippet that demonstrates the problem.
Put your .alive and .register calls inside act() and your code successfully terminates.