As a workflow can be set to trigger when a new document is Added to the library, when an existing document is changed OR by a manual start by a user ( OR any combination of the above ).....
Can you test programmatically to find out what the trigger was for the workflow in a c# coded workflow?