Yeah this was a big surprise for me as Nepal have been in good form this year and have been playing well and were one of the favourites to go through but Singapore surprised us all as they have played great cricket in this tournament. I was thinking that they would finish third behind Nepal and Malaysia but ended up finishing on top without losing a match so they deserve to go through.
Hard to compete with a team that was made up of mercenaries. Nepal is a poor country and all of their players were natives. On the other hand, Singapore didn't had any native player in their team and most of their players were former Ranji players from India who agreed to play for SG in return for a monetary payment (out of the 5 teams, only Nepal and Malaysia had native players).
There is no point in complaining, as teams such as Qatar and Saudi Arabia regularly win medals in Olympics with their imported athletes. But the difference here is that you can't compete in Olympics if you don't have citizenship of that country. On the other hand, you can play for Singapore in cricket even if you don't have SG citizenship.