Cool down. When you use software for things that are outside of their main intended scope, you may be on the margin of their capabilities, which means that works this week, may stop working the next.
Running queries that return one million rows into SSMS is not a regular use case. At least not how I use SSMS. I use SSMS to look at and diagnose data. Working with one million rows in the results grid in SSMS is very impractical.
That said, by default, SSMS does not use a timeout when you execute queries from a query window. You can right-click in a query window and select Query Options at the bottom of the dropdown. You will see something like this:
What is the exact error message that you get?