Some developers take the easy approach and add the plugin or custom workflow activity dependent DLLs in the server GAC. This approach for some cases may not be valid specially that it requires administrative rights on the server.
Others use ILMerge to merge the plugin Dll with the dependent Dlls which causes an update for the whole Dll in case you are updating a single Dll.
I prefer another approach which is putting the dependent Dlls on the server bin folder which differs in case of WFE server than that for a back end asynchronous server.
For the front end server you can place the Dlls in that path:
C:\Program Files\Microsoft Dynamics CRM\CRMWeb\bin
On the back end server you can place the Dlls in that path:
C:\Program Files\Microsoft Dynamics CRM\Server\bin
Please note that if the Dlls are already in the GAC then for some cases the version in the GAC will be used, I suggested having these Dlls in only one place.