Assuming we are talking about a square wave in the 0.5 to 1.0 MHz region, let's look at the LC tank circuit. I suppose the purpose is to get a clean, low-spurious output (jitter, harmonics, etc), signal. This will look somewhat like a sinewave at the filter output. Will this be used directly, or will it be sent to a logic stage for squaring-up? This affects the design of the tank circuit. In fact, if the tank load impedance is relatively low, for maximum efficiency and minimal power dissipation in the MOSFET driver, a simple LC tank may not be the best approach. When using a square wave drive you usually want an inductive input impedance to allow the MOSFET to spend as little time as possible in the linear region. Look at "Class E" amplifier networks, or perhaps a simple "Tee" filter. These details will depend on the spectral purity and the power levels desired.
As for the Arduino loop, how many cycles do the bit-test and manipulation operations require? Something like this should give you a 50% duty-cycle:
while(1){
digitalWrite(OUTPIN, !digitalRead(OUTPIN);
}