você pode e é muito possível fazer o que você pediu,
mas fazer o backup sozinho usando SMO não é muito difícil, mas o difícil é gerenciar o backup e a restauração.
seria difícil colocar todo o código aqui, mas não vai caber. então vou tentar o meu melhor para colocar as linhas que você precisa.
SqlBackup.SqlBackup não retorna nenhum valor, é uma função void.mas leva um parâmetro que é "Server", tente o seguinte código:
Server srvSql;
//Connect to Server using your authentication method and load the databases in srvSql
// THEN
Backup bkpDatabase = new Backup();
bkpDatabase.Action = BackupActionType.Database;
bkpDatabase.Incremental = true; // will take an incemental backup
bkpDatabase.Incremental = false; // will take a Full backup
bkpDatabase.Database = "your DB name";
BackupDeviceItem bDevice = new BackupDeviceItem("Backup.bak", DeviceType.File);
bkpDatabase.Devices.Add(bDevice );
bkpDatabase.PercentCompleteNotification = 1;// this for progress
bkpDatabase.SqlBackup(srvSql);
bkpDatabase.Devices.Clear();