I recursively find all the files in a directory using this apreach which is realy fast.
anyways I store the info in each file in the struct:
struct Info 
{
    public bool IsDirectory;
    public string Path;
    public FILETIME ModifiedDate;
}
So now I am trying to decide weather to place the helper methods inside that struct or somewhere else for efficiency purposes.
The helper methods are:
struct Info 
{
    public bool IsDirectory;
    public string Path;
    public FILETIME ModifiedDate;
    // Helper methods:
    public string GetFileName(){ /* implementation */ }
    public string GetFileSize(){ /* implementation */ }
    public string GetFileAtributes() { /* implementation */ }
    // etc many more helper methods
}
I am saving thousands of files on memory and I don't know if having those methods inside Info will affect performance. In other words will it be better to remove those methods and make them extension methods as:
public static class ExtensionHelperMethods
{
    static public string GetFileName(this Info info){ /* implementation */ }
    static public string GetFileSize(this Info info){ /* implementation */ }
    static public string GetFileAtributes(this Info info) { /* implementation */ }
    // etc many more helper methods
}
So my question is because Info is an instance struct then having those methods inside result in wising more memory? If Info is an instance struct then each method will have a different address in memory?
I have tried both techniques and I cannot seemed to see a difference. Maybe I need to try with more files.
Edit
Here is to prove that @Fabio Gouw is wright:
// This program compares the size of object a and b
class Program
{
    static void Main(string[] args)
    {
        InfoA a = new InfoA();
        InfoB b = new InfoB();
        if (ToBytes(a).Length == ToBytes(b).Length)
        {
            Console.Write("Objects are the same size!!!");
        }
        Console.Read();
    }
    public static byte[] ToBytes(object objectToSerialize)
    {
        BinaryFormatter bf = new BinaryFormatter();
        MemoryStream memStr = new MemoryStream();
        try
        {
            bf.Serialize(memStr, objectToSerialize);
            memStr.Position = 0;
            var ret = memStr.ToArray();
            return ret;
        }
        finally
        {
            memStr.Close();
        }
    }
    [Serializable]
    struct InfoA
    {
        public bool IsDirectory;
        public string Path;
    }
    [Serializable]
    struct InfoB
    {
        public bool IsDirectory;
        public string Path;
        public string GetFileName()
        {
            return System.IO.Path.GetFileName(Path);
        }
    }
}