Restore database stuck at 100% progress
The size of the backup file is only partly relevant. The restore process first have to create the database files (the "containers" as I like to think of them) and they need to have the same size as when the backup was produced. 

So you have have a database with only small amount of information, but sitting in large database files.

Instant File Initialization can help to some extent, but only for database files. I.e., not for transaction log files. See for instant this for more info: https://www.brentozar.com/blitz/instant-file-initialization/

If you want to know the size of the file to be created, you can use RESTORE FILELISTONLY:

RESTORE FILELISTONLY 
FROM DISK = 'R:\mybackup.bak'


You might need a FILE option if you have more than one backup in the file (just like in the RESTORE command you are running).