I want to delete a site column using PowerShell, which is associated with my custom content types that are defined in my SharePoint 2013 site collection.When I removed the content type association manually, its removed correctly, but the association was not removed completely on the sub sites scope.
If you have a look at this link you'll find a way to identify all content types which contain your column. Key to remove a column from a content type is to delete the FieldLink:
Update($true) will propagate all changes to the list content types (if there are any).
In the end you'll have to execute the linked code for all subsites aswell, before you can delete the site column. Make sure $field.ListsFieldUsedIn() returns empty after all.