Repeat this to yourself 17 times in a row:
1. ASP.NET is Server side.
2. JavaScript is Client side.
JavaScript cannot execute on the server. Page.RegisterStartupScript() is extremely simplistic. All it does is add whatever is in your second parameter, as text, to the bottom of the response stream. So it's serving your page, right? And the last thing it puts on the page, is the string in RegisterStartupScript.
If that string is in the form "<script>alert('Hello');</script>", then what will happen? When that page loads in the users browser, that script will run, and "Hello" will popup. The script ran ON THE CLIENT. However, that script was put onto the page, via ASP.NET.
What does this have to do with PostBack? Absolutely nothing at all.
Now, go back and read those first two points aloud 17 more times.
And for further reading on the topic:
Integrating client-side scripts with ASP.NET.