What you want to use is TransactionScopeOption.RequiresNew . The Supress option makes your host block work without an external transaction, as well as without creating a new one. What is he doing.
RequiresNew forces the creation of a new root transaction scope.
See the pivot table in this article for how the various options behave.
More about Suppress :
Suppressing is useful when you want to save executed operations in a section of code, and do not want to abort an external transaction if operations are not performed. For example, if you want to perform registration or audit operations, or when you want to publish events for subscribers, regardless of whether it completes or interrupts your external transaction.
source share