return だけじゃなくてスクリプト全体を (function() { })(); でくくらないと駄目だと思う
Greasemonkey はこれを自動でやるけど userContent.js ではやってないんじゃね