If you leave a frame with 'OnUpdate' running forever, make sure you throttle down the refresh rate, for example: instead of refreshing every frame (which 90% of the times is useless), refresh every 0.05 seconds. Usually, nameplates addons are one of the biggest fps-killers. That's why the more addons you have (TidyPlates, Bartender, Quartz, DBM, Grid, MSBT, etc), the more CPU-time will be wasted to process a frame, which means less frames per second.
I usually handle most things with OnUpdate script because it doesn't affect my fps in any kind of way so I just don't really care.You will always lose fps if you start doing heavy stuff inside an 'OnUpdate' script. Else // Load Rest of YUI remotely (where possible)