You can still use mono, however you are not able to use the JIT engine. This means that optimizations that run at the interpretation layer don't get run.
Mono has two modes of running JIT and interpreter runtime. The interpreter runtime is created on platforms before the JIT platform since its much much less complicated for the mono team, normally they move away from the interpreter runtime and switch to the JIT runtime, and as soon as that happens the interpreter runtime is no longer supported.
Also consider what you are doing, whilst you think it may be nice and simple, its actually quite a complex task, just looking at your using statements you are not only asking a program to interact with your network card (load drivers, create sockets, do host-name lookups, but are looking to work with anonymised advanced language features of c# 3.0. Theres a lot of backend work that needs to go on for this too work).
I'm sure the Mono team will support hpux eventually, you can get a list of the current supported platforms here